new fields: part name, index, parts count
authorJan Szejko <janek37@gmail.com>
Fri, 2 Mar 2018 08:42:42 +0000 (09:42 +0100)
committerJan Szejko <janek37@gmail.com>
Fri, 2 Mar 2018 08:42:42 +0000 (09:42 +0100)
apps/archive/locale/pl/LC_MESSAGES/django.mo
apps/archive/locale/pl/LC_MESSAGES/django.po
apps/archive/migrations/0005_auto__add_field_audiobook_part_name__add_field_audiobook_index__add_fi.py [new file with mode: 0644]
apps/archive/models.py
apps/archive/tasks.py
requirements.txt

index 319973a..e1135bf 100644 (file)
Binary files a/apps/archive/locale/pl/LC_MESSAGES/django.mo and b/apps/archive/locale/pl/LC_MESSAGES/django.mo differ
index 526b07d..317ab76 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-07-11 15:51+0200\n"
+"POT-Creation-Date: 2018-03-02 09:36+0100\n"
 "PO-Revision-Date: 2012-07-11 15:52+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: 2012-07-11 15:52+0100\n"
 "Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,7 +15,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2)\n"
 
 #: constants.py:10
 msgid "Waiting"
 
 #: constants.py:10
 msgid "Waiting"
@@ -33,52 +34,67 @@ msgstr "Opisywanie"
 msgid "Sending"
 msgstr "Wysyłanie"
 
 msgid "Sending"
 msgstr "Wysyłanie"
 
-#: models.py:21
-#: models.py:43
+#: models.py:23 models.py:49
 msgid "project"
 msgstr "projekt"
 
 msgid "project"
 msgstr "projekt"
 
-#: models.py:22
+#: models.py:24
 msgid "projects"
 msgstr "projekty"
 
 msgid "projects"
 msgstr "projekty"
 
-#: models.py:35
+#: models.py:37
 msgid "source file"
 msgstr "plik źródłowy"
 
 msgid "source file"
 msgstr "plik źródłowy"
 
-#: models.py:38
+#: models.py:40
 msgid "title"
 msgstr "tytuł"
 
 msgid "title"
 msgstr "tytuł"
 
-#: models.py:39
+#: models.py:41
+msgid "part name"
+msgstr "nazwa części"
+
+#: models.py:41
+msgid "eg. chapter in a novel"
+msgstr "np. rozdział w powieści"
+
+#: models.py:43
+msgid "index"
+msgstr "numer"
+
+#: models.py:44
+msgid "parts count"
+msgstr "liczba części"
+
+#: models.py:45
 msgid "artist"
 msgstr "lektor"
 
 msgid "artist"
 msgstr "lektor"
 
-#: models.py:40
+#: models.py:46
 msgid "conductor"
 msgstr "reżyser"
 
 msgid "conductor"
 msgstr "reżyser"
 
-#: models.py:41
+#: models.py:47
 msgid "encoded by"
 msgstr "przyg. techn."
 
 msgid "encoded by"
 msgstr "przyg. techn."
 
-#: models.py:42
+#: models.py:48
 msgid "date"
 msgstr "data"
 
 msgid "date"
 msgstr "data"
 
-#: models.py:44
+#: models.py:50
 msgid "book url"
 msgstr "URL książki"
 
 msgid "book url"
 msgstr "URL książki"
 
-#: models.py:45
+#: models.py:51
 msgid "translator"
 msgstr "tłumacz"
 
 msgid "translator"
 msgstr "tłumacz"
 
-#: models.py:65
+#: models.py:71
 msgid "audiobook"
 msgstr "audiobook"
 
 msgid "audiobook"
 msgstr "audiobook"
 
-#: models.py:66
+#: models.py:72
 msgid "audiobooks"
 msgstr "audiobooki"
 
 msgid "audiobooks"
 msgstr "audiobooki"
 
@@ -94,8 +110,7 @@ msgstr "Nowe"
 msgid "Unpublished"
 msgstr "Nie opublikowane"
 
 msgid "Unpublished"
 msgstr "Nie opublikowane"
 
-#: templates/archive/base.html:7
-#: templates/archive/file_managed.html:11
+#: templates/archive/base.html:7 templates/archive/file_managed.html:11
 msgid "Publishing"
 msgstr "Publikacja"
 
 msgid "Publishing"
 msgstr "Publikacja"
 
@@ -111,11 +126,15 @@ msgstr "Archiwum"
 msgid "Projects"
 msgstr "Projekty"
 
 msgid "Projects"
 msgstr "Projekty"
 
-#: templates/archive/base.html:13
+#: templates/archive/base.html:14
 msgid "Logout"
 msgstr "Wyloguj"
 
 msgid "Logout"
 msgstr "Wyloguj"
 
-#: templates/archive/base.html:15
+#: templates/archive/base.html:16 templates/registration/login.html:9
+msgid "Login"
+msgstr "Zaloguj"
+
+#: templates/archive/base.html:19
 msgid "Administration"
 msgstr "Administracja"
 
 msgid "Administration"
 msgstr "Administracja"
 
@@ -144,45 +163,44 @@ msgid "Download MP3 file."
 msgstr "Pobierz plik MP3."
 
 #: templates/archive/file_managed.html:70
 msgstr "Pobierz plik MP3."
 
 #: templates/archive/file_managed.html:70
-#: templates/archive/file_managed.html:84
+#: templates/archive/file_managed.html:86
 msgid "Published:"
 msgstr "Opublikowano:"
 
 msgid "Published:"
 msgstr "Opublikowano:"
 
-#: templates/archive/file_managed.html:73
-#: templates/archive/file_managed.html:87
+#: templates/archive/file_managed.html:75
+#: templates/archive/file_managed.html:91
 msgid "Not published yet."
 msgstr "Nie opublikowane."
 
 msgid "Not published yet."
 msgstr "Nie opublikowane."
 
-#: templates/archive/file_managed.html:76
+#: templates/archive/file_managed.html:78
 msgid "MP3 file hasn't been generated yet."
 msgstr "Plik MP3 nie został jeszcze wygenerowany."
 
 msgid "MP3 file hasn't been generated yet."
 msgstr "Plik MP3 nie został jeszcze wygenerowany."
 
-#: templates/archive/file_managed.html:81
+#: templates/archive/file_managed.html:83
 msgid "Ogg Vorbis file"
 msgstr "Plik Ogg Vorbis"
 
 msgid "Ogg Vorbis file"
 msgstr "Plik Ogg Vorbis"
 
-#: templates/archive/file_managed.html:82
+#: templates/archive/file_managed.html:84
 msgid "Download Ogg Vorbis file."
 msgstr "Pobierz plik Ogg Vorbis."
 
 msgid "Download Ogg Vorbis file."
 msgstr "Pobierz plik Ogg Vorbis."
 
-#: templates/archive/file_managed.html:90
+#: templates/archive/file_managed.html:94
 msgid "Ogg Vorbis file hasn't been generated yet."
 msgstr "Plik Ogg Vorbis nie został jeszcze wygenerowany."
 
 msgid "Ogg Vorbis file hasn't been generated yet."
 msgstr "Plik Ogg Vorbis nie został jeszcze wygenerowany."
 
-#: templates/archive/file_managed.html:101
+#: templates/archive/file_managed.html:105
 msgid "Update tags"
 msgstr "Uaktualnij tagi"
 
 msgid "Update tags"
 msgstr "Uaktualnij tagi"
 
-#: templates/archive/file_managed.html:113
-#: templates/archive/file_new.html:19
+#: templates/archive/file_managed.html:117 templates/archive/file_new.html:19
 msgid "Commit"
 msgstr "Zatwierdź"
 
 msgid "Commit"
 msgstr "Zatwierdź"
 
-#: templates/archive/file_managed.html:124
+#: templates/archive/file_managed.html:128
 msgid "Are you sure you want to move this audiobook to archive?"
 msgstr "Czy na pewno chcesz przenieść ten plik to archiwum?"
 
 msgid "Are you sure you want to move this audiobook to archive?"
 msgstr "Czy na pewno chcesz przenieść ten plik to archiwum?"
 
-#: templates/archive/file_managed.html:126
+#: templates/archive/file_managed.html:130
 msgid "Remove to archive"
 msgstr "Usuń do archiwum"
 
 msgid "Remove to archive"
 msgstr "Usuń do archiwum"
 
@@ -222,10 +240,6 @@ msgstr "Audiobooki archiwalne"
 msgid "Unpublished audiobooks"
 msgstr "Nie opublikowane audiobooki"
 
 msgid "Unpublished audiobooks"
 msgstr "Nie opublikowane audiobooki"
 
-#: templates/registration/login.html:9
-msgid "Login"
-msgstr "Zaloguj"
-
 #~ msgid "arranger"
 #~ msgstr "aranżer"
 
 #~ msgid "arranger"
 #~ msgstr "aranżer"
 
diff --git a/apps/archive/migrations/0005_auto__add_field_audiobook_part_name__add_field_audiobook_index__add_fi.py b/apps/archive/migrations/0005_auto__add_field_audiobook_part_name__add_field_audiobook_index__add_fi.py
new file mode 100644 (file)
index 0000000..c163971
--- /dev/null
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding field 'Audiobook.part_name'
+        db.add_column(u'archive_audiobook', 'part_name',
+                      self.gf('django.db.models.fields.CharField')(default='', max_length=255, blank=True),
+                      keep_default=False)
+
+        # Adding field 'Audiobook.index'
+        db.add_column(u'archive_audiobook', 'index',
+                      self.gf('django.db.models.fields.IntegerField')(default=0),
+                      keep_default=False)
+
+        # Adding field 'Audiobook.parts_count'
+        db.add_column(u'archive_audiobook', 'parts_count',
+                      self.gf('django.db.models.fields.IntegerField')(default=1),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'Audiobook.part_name'
+        db.delete_column(u'archive_audiobook', 'part_name')
+
+        # Deleting field 'Audiobook.index'
+        db.delete_column(u'archive_audiobook', 'index')
+
+        # Deleting field 'Audiobook.parts_count'
+        db.delete_column(u'archive_audiobook', 'parts_count')
+
+
+    models = {
+        u'archive.audiobook': {
+            'Meta': {'ordering': "('title',)", 'object_name': 'Audiobook'},
+            'artist': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'conductor': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'date': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'encoded_by': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
+            'modified': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+            'mp3_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True'}),
+            'mp3_published': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+            'mp3_published_tags': ('jsonfield.fields.JSONField', [], {'null': 'True'}),
+            'mp3_status': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True'}),
+            'mp3_tags': ('jsonfield.fields.JSONField', [], {'null': 'True'}),
+            'mp3_task': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+            'ogg_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True'}),
+            'ogg_published': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}),
+            'ogg_published_tags': ('jsonfield.fields.JSONField', [], {'null': 'True'}),
+            'ogg_status': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True'}),
+            'ogg_tags': ('jsonfield.fields.JSONField', [], {'null': 'True'}),
+            'ogg_task': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
+            'part_name': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}),
+            'parts_count': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'project': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['archive.Project']"}),
+            'source_file': ('django.db.models.fields.files.FileField', [], {'max_length': '255'}),
+            'source_sha1': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'translator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255'})
+        },
+        u'archive.project': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'Project'},
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'db_index': 'True'}),
+            'sponsors': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+        }
+    }
+
+    complete_apps = ['archive']
\ No newline at end of file
index a78eb52..c75a874 100644 (file)
@@ -38,6 +38,10 @@ class Audiobook(models.Model):
     source_sha1 = models.CharField(max_length=40, editable=False)
 
     title = models.CharField(max_length=255, verbose_name=_('title'))
     source_sha1 = models.CharField(max_length=40, editable=False)
 
     title = models.CharField(max_length=255, verbose_name=_('title'))
+    part_name = models.CharField(max_length=255, verbose_name=_('part name'), help_text=_('eg. chapter in a novel'),
+                                 default='', blank=True)
+    index = models.IntegerField(verbose_name=_('index'), default=0)
+    parts_count = models.IntegerField(verbose_name=_('parts count'), default=1)
     artist = models.CharField(max_length=255, verbose_name=_('artist'))
     conductor = models.CharField(max_length=255, verbose_name=_('conductor'))
     encoded_by = models.CharField(max_length=255, verbose_name=_('encoded by'))
     artist = models.CharField(max_length=255, verbose_name=_('artist'))
     conductor = models.CharField(max_length=255, verbose_name=_('conductor'))
     encoded_by = models.CharField(max_length=255, verbose_name=_('encoded by'))
index d9c3f5e..a46b79c 100644 (file)
@@ -81,10 +81,13 @@ class AudioFormatTask(Task):
         tags = getattr(audiobook, "%s_tags" % cls.ext)
         prefix, slug = tags['url'].rstrip('/').rsplit('/', 1)
         name = tags['name']
         tags = getattr(audiobook, "%s_tags" % cls.ext)
         prefix, slug = tags['url'].rstrip('/').rsplit('/', 1)
         name = tags['name']
-        command = UPLOAD_CMD + (u' %s %s %s > output.txt' % (
+        command = UPLOAD_CMD + (u' %s %s %s %s %s %s > output.txt' % (
             pipes.quote(os.path.join(UPLOAD_PATH, os.path.basename(path))),
             pipes.quote(slug),
             pipes.quote(os.path.join(UPLOAD_PATH, os.path.basename(path))),
             pipes.quote(slug),
-            pipes.quote(name)
+            pipes.quote(name),
+            pipes.quote(audiobook.part_name),
+            audiobook.index,
+            audiobook.parts_count,
             )).encode('utf-8')
         try:
             api.put(path, UPLOAD_PATH)
             )).encode('utf-8')
         try:
             api.put(path, UPLOAD_PATH)
index c6905f9..90ae1d3 100644 (file)
@@ -1,7 +1,7 @@
 -i https://py.mdrn.pl:8443/simple
 
 django>=1.5,<1.6
 -i https://py.mdrn.pl:8443/simple
 
 django>=1.5,<1.6
-django-jsonfield
+django-jsonfield==0.9.10
 South>=0.7
 django-cas==2.1.1.1
 
 South>=0.7
 django-cas==2.1.1.1