]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/web/views/list_books.py
Feat(web:books): Показывать список книг с разбивкой по авторам и сериям
[m_librarian.git] / m_librarian / web / views / list_books.py
index 73af92bda83f11c3c573440ed40a81ae0910ce78..01fcda4c7817dff06f7a56117cb785ae6aa52607 100644 (file)
@@ -36,10 +36,10 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '3.1.0'
 __CHEETAH_versionTuple__ = (3, 1, 0, 'final', 1)
-__CHEETAH_genTime__ = 1527354802.495612
-__CHEETAH_genTimestamp__ = 'Sat May 26 20:13:22 2018'
+__CHEETAH_genTime__ = 1527367605.801202
+__CHEETAH_genTimestamp__ = 'Sat May 26 23:46:45 2018'
 __CHEETAH_src__ = 'list_books.tmpl'
-__CHEETAH_srcLastModified__ = 'Sat May 26 20:13:18 2018'
+__CHEETAH_srcLastModified__ = 'Sat May 26 23:46:44 2018'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
 if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
@@ -93,36 +93,41 @@ class list_books(layout):
         write(u'''</h1>
 
 ''')
-        if VFFSL(SL,"books",True): # generated from line 8, col 1
+        if VFFSL(SL,"books_by_author",True): # generated from line 8, col 1
             write(u'''  <form action="/download/" method="POST" style="height: 80%">
   <div style="width: 100%; height: 90%">
   <select multiple name="books" style="height: 100%">
 ''')
             series = None
-            for book in VFFSL(SL,"books",True): # generated from line 13, col 3
-                if VFFSL(SL,"book.series",True) != VFFSL(SL,"series",True): # generated from line 14, col 3
-                    if VFFSL(SL,"series",True) is not None: # generated from line 15, col 3
-                        write(u'''  </optgroup>
+            for author in VFFSL(SL,"sorted",False)(VFFSL(SL,"books_by_author",True)): # generated from line 13, col 3
+                books = VFFSL(SL,"books_by_author",True)[VFFSL(SL,"author",True)]
+                for book in VFFSL(SL,"books",True): # generated from line 15, col 5
+                    if VFFSL(SL,"book.series",True) != VFFSL(SL,"series",True): # generated from line 16, col 5
+                        if VFFSL(SL,"series",True) is not None: # generated from line 17, col 5
+                            write(u'''    </optgroup>
 ''')
-                    series = VFFSL(SL,"book.series",True)
-                    write(u'''  <optgroup label="''')
-                    if VFFSL(SL,"book.series",True): # generated from line 20, col 3
-                        _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"series",True), 1) # u'$cgi.escape($series, 1)' on line 21, col 1
-                        if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($series, 1)')) # from line 21, col 1.
-                    else: # generated from line 22, col 3
-                        write(u'''\u0412\u043d\u0435 \u0441\u0435\u0440\u0438\u0439''')
-                    write(u'''">
+                        series = VFFSL(SL,"book.series",True)
+                        write(u'''    <optgroup label="''')
+                        _v = VFFSL(SL,"author",True) # u'$author' on line 22, col 1
+                        if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 22, col 1.
+                        write(u''' \u2014 ''')
+                        if VFFSL(SL,"book.series",True): # generated from line 23, col 5
+                            _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"series",True), 1) # u'$cgi.escape($series, 1)' on line 24, col 1
+                            if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($series, 1)')) # from line 24, col 1.
+                        else: # generated from line 25, col 5
+                            write(u'''\u0412\u043d\u0435 \u0441\u0435\u0440\u0438\u0439''')
+                        write(u'''">
 ''')
-                write(u'''  <option value="''')
-                _v = VFFSL(SL,"book.id",True) # u'$book.id' on line 27, col 18
-                if _v is not None: write(_filter(_v, rawExpr=u'$book.id')) # from line 27, col 18.
-                write(u'''">''')
-                _v = VFFSL(SL,"book.ser_no",True) # u'$book.ser_no' on line 27, col 28
-                if _v is not None: write(_filter(_v, rawExpr=u'$book.ser_no')) # from line 27, col 28.
-                write(u''' ''')
-                _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"book.title",True)) # u'$cgi.escape($book.title)' on line 27, col 41
-                if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($book.title)')) # from line 27, col 41.
-                write(u'''</option>
+                    write(u'''    <option value="''')
+                    _v = VFFSL(SL,"book.id",True) # u'$book.id' on line 30, col 20
+                    if _v is not None: write(_filter(_v, rawExpr=u'$book.id')) # from line 30, col 20.
+                    write(u'''">''')
+                    _v = VFFSL(SL,"book.ser_no",True) # u'$book.ser_no' on line 30, col 30
+                    if _v is not None: write(_filter(_v, rawExpr=u'$book.ser_no')) # from line 30, col 30.
+                    write(u''' ''')
+                    _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"book.title",True)) # u'$cgi.escape($book.title)' on line 30, col 43
+                    if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($book.title)')) # from line 30, col 43.
+                    write(u'''</option>
 ''')
             write(u'''  </optgroup>
   </select>
@@ -132,7 +137,7 @@ class list_books(layout):
   </div>
   </form>
 ''')
-        else: # generated from line 36, col 1
+        else: # generated from line 40, col 1
             write(u'''  <p>\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438!</p>
 ''')