]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/download.py
Feat(db): Add book.genre_list_* properties
[m_librarian.git] / m_librarian / download.py
index 6304658062b79bf2ef68a3550c2981d44eb094e2..281efcaf7a2c81b4f32013da206b71c314ea2f74 100755 (executable)
@@ -17,11 +17,12 @@ compiled_format = '%(file)s'
 
 def _compile_format():
     global format, compile_format, compiled_format
-    if compile_format:
-        compile_format = False
-        format = get_config().get('download', 'format')
-        if not format:
-            return
+    if not compile_format:
+        return
+    compile_format = False
+    format = get_config().get('download', 'format')
+    if not format:
+        return
     got_percent = False
     compiled = []
     for c in format:
@@ -35,7 +36,9 @@ def _compile_format():
             if got_percent:
                 got_percent = False
                 if c == 'a':
-                    new_format = u'%(author)s'
+                    new_format = u'%(author1)s'
+                elif c == 'A':
+                    new_format = u'%(authors)s'
                 elif c == 'e':
                     new_format = u'%(extension)s'
                 elif c == 'f':
@@ -44,6 +47,10 @@ def _compile_format():
                     new_format = u'%(gname)s'
                 elif c == 'g':
                     new_format = u'%(gtitle)s'
+                elif c == 'J':
+                    new_format = u'%(gname_list)s'
+                elif c == 'j':
+                    new_format = u'%(gtitle_list)s'
                 elif c == 'l':
                     new_format = u'%(language)s'
                 elif c == 'n':
@@ -72,18 +79,21 @@ def download(book, dest_path=None, lib_path=None, a_format=None):
 
     global format, compile_format, compiled_format
     if a_format:
-        format = a_format
         compile_format = True
+        format = a_format
     _compile_format()
     if compiled_format[-1] in ('\0', '\\', '/'):
         raise ValueError('Bad format: "%s"' % compiled_format)
     bdict = {}
-    bdict['author'] = book.authors[0].fullname
+    bdict['author1'] = book.author1
+    bdict['authors'] = book.author_list
     bdict['extension'] = book.extension.name
     bdict['file'] = book.file
     genre = book.genres[0]
     bdict['gname'] = genre.name
     bdict['gtitle'] = genre.title
+    bdict['gname_list'] = book.genre_name_list
+    bdict['gtitle_list'] = book.genre_title_list
     bdict['language'] = book.language.name
     bdict['ser_no'] = book.ser_no or 0
     bdict['series'] = book.series