import Cheetah.ErrorCatchers as ErrorCatchers
from Cheetah.compat import unicode
import cgi
+from m_librarian.translations import translations
from views.layout import layout
##################################################
VFSL=valueFromSearchList
VFN=valueForName
currentTime=time.time
-__CHEETAH_version__ = '3.1.0'
-__CHEETAH_versionTuple__ = (3, 1, 0, 'final', 1)
-__CHEETAH_genTime__ = 1527367605.801202
-__CHEETAH_genTimestamp__ = 'Sat May 26 23:46:45 2018'
+__CHEETAH_version__ = '3.2.6'
+__CHEETAH_versionTuple__ = (3, 2, 6, 'final', 0)
+__CHEETAH_genTime__ = 1671305495.844598
+__CHEETAH_genTimestamp__ = 'Sat Dec 17 22:31:35 2022'
__CHEETAH_src__ = 'list_books.tmpl'
-__CHEETAH_srcLastModified__ = 'Sat May 26 23:46:44 2018'
+__CHEETAH_srcLastModified__ = 'Sat Dec 17 22:31:33 2022'
__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
- ## CHEETAH: generated from #def body at line 5, col 1.
+ ## CHEETAH: generated from #def body at line 6, col 1.
trans = KWS.get("trans")
if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
trans = self.transaction # is None unless self.awake() was called
## START - generated method body
write(u'''<h1>''')
- _v = VFFSL(SL,"title",True) # u'$title' on line 6, col 5
- if _v is not None: write(_filter(_v, rawExpr=u'$title')) # from line 6, col 5.
+ _v = VFFSL(SL,"title",True) # u'$title' on line 7, col 5
+ if _v is not None: write(_filter(_v, rawExpr=u'$title')) # from line 7, col 5.
write(u'''</h1>
+<script type="text/javascript" language="Javascript">
+<!--
+function toggleBooks(selector, value) {
+ cboxes = document.querySelectorAll(selector);
+ for (var i = 0; i < cboxes.length; i++) {
+ cboxes[i].checked = value;
+ }
+}
+
+function toggleAll(value) {
+ toggleBooks(\'input[type=checkbox]\', value);
+}
+
+function toggleAuthor(name, value) {
+ toggleBooks(\'input[type=checkbox][name^=\' + name + \']\', value);
+}
+
+function toggleSeries(name, value) {
+ toggleBooks(\'input[type=checkbox][name^=\' + name + \'_book]\', value);
+}
+// -->
+</script>
+
''')
- if VFFSL(SL,"books_by_author",True): # generated from line 8, col 1
+ if VFFSL(SL,"books_by_author",True): # generated from line 32, 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%">
+ <table style="width: 100%; height: 90%">
+ <tr>
+ <td><input type=checkbox name="_toggleAll"
+ onClick="toggleAll(this.checked)"></td>
+ ''')
+ if False:
+ _
+ _ = VFFSL(SL,"getattr",False)(VFFSL(SL,"translations",True), 'ugettext', None) or VFFSL(SL,"translations.gettext",True)
+ for column in VFFSL(SL,"columns",True): # generated from line 39, col 3
+ write(u''' <td style="text-align: center">''')
+ if False:
+ _(VFFSL(SL,"column",True))
+ _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"_",False)(VFFSL(SL,"column",True))) # u'$cgi.escape($_($column))' on line 40, col 36
+ if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($_($column))')) # from line 40, col 36.
+ write(u'''</td>
+''')
+ write(u''' </tr>
''')
- series = None
- for author in VFFSL(SL,"sorted",False)(VFFSL(SL,"books_by_author",True)): # generated from line 13, col 3
+ columns1 = VFFSL(SL,"len",False)(VFFSL(SL,"columns",True))+1
+ for anum, author in VFFSL(SL,"enumerate",False)(VFFSL(SL,"sorted",False)(VFFSL(SL,"books_by_author",True))): # generated from line 44, col 3
+ series = None
+ snum = 0
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>
+ write(u''' <tr>
+ <td><input type=checkbox name="a''')
+ _v = VFFSL(SL,"anum",True)+1 # u'${anum+1}' on line 49, col 35
+ if _v is not None: write(_filter(_v, rawExpr=u'${anum+1}')) # from line 49, col 35.
+ write(u'''_"
+ onClick="toggleAuthor(this.name, this.checked)"></td>
+ <td colspan="''')
+ _v = VFFSL(SL,"columns1",True)-1 # u'${columns1-1}' on line 51, col 16
+ if _v is not None: write(_filter(_v, rawExpr=u'${columns1-1}')) # from line 51, col 16.
+ write(u'''"><b>''')
+ _v = VFFSL(SL,"author",True) # u'$author' on line 51, col 34
+ if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 51, col 34.
+ write(u'''</b></td>
+ </tr>
''')
+ for book in VFFSL(SL,"books",True): # generated from line 53, col 5
+ if VFFSL(SL,"book.series",True) != VFFSL(SL,"series",True): # generated from line 54, col 5
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
+ snum += 1
+ write(u''' <tr>
+ <td><input type=checkbox name="a''')
+ _v = VFFSL(SL,"anum",True)+1 # u'${anum+1}' on line 58, col 35
+ if _v is not None: write(_filter(_v, rawExpr=u'${anum+1}')) # from line 58, col 35.
+ write(u'''_s''')
+ _v = VFFSL(SL,"snum",True) # u'${snum}' on line 58, col 46
+ if _v is not None: write(_filter(_v, rawExpr=u'${snum}')) # from line 58, col 46.
+ write(u'''"
+ onClick="toggleSeries(this.name, this.checked)"></td>
+ <td colspan="''')
+ _v = VFFSL(SL,"columns1",True)-1 # u'${columns1-1}' on line 60, col 16
+ if _v is not None: write(_filter(_v, rawExpr=u'${columns1-1}')) # from line 60, col 16.
+ write(u'''"><b>
+ ''')
+ _v = VFFSL(SL,"author",True) # u'$author' on line 61, col 3
+ if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 61, col 3.
+ write(u''' \u2014 <i>
+''')
+ if VFFSL(SL,"book.series",True): # generated from line 62, col 3
+ _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"series",True), 1) # u'$cgi.escape($series, 1)' on line 63, col 1
+ if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($series, 1)')) # from line 63, col 1.
+ else: # generated from line 64, col 3
write(u'''\u0412\u043d\u0435 \u0441\u0435\u0440\u0438\u0439''')
- write(u'''">
+ write(u''' </i></b></td>
+ </tr>
+''')
+ write(u''' <tr>
+ <td><input type=checkbox name="a''')
+ _v = VFFSL(SL,"anum",True)+1 # u'${anum+1}' on line 71, col 35
+ if _v is not None: write(_filter(_v, rawExpr=u'${anum+1}')) # from line 71, col 35.
+ write(u'''_s''')
+ _v = VFFSL(SL,"snum",True) # u'${snum}' on line 71, col 46
+ if _v is not None: write(_filter(_v, rawExpr=u'${snum}')) # from line 71, col 46.
+ write(u'''_books" value="''')
+ _v = VFFSL(SL,"book.id",True) # u'$book.id' on line 71, col 68
+ if _v is not None: write(_filter(_v, rawExpr=u'$book.id')) # from line 71, col 68.
+ write(u'''"></td>
+''')
+ for column in VFFSL(SL,"columns",True): # generated from line 72, col 3
+ if VFFSL(SL,"column",True) in ('ser_no', 'size'): # generated from line 73, col 3
+ style = ' style="text-align: right; width: 5ex"'
+ else: # generated from line 75, col 3
+ style = ''
+ write(u''' <td''')
+ _v = VFFSL(SL,"style",True) # u'$style' on line 78, col 6
+ if _v is not None: write(_filter(_v, rawExpr=u'$style')) # from line 78, col 6.
+ write(u'''>''')
+ _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(unicode(VFFSL(SL,"getattr",False)(VFFSL(SL,"book",True), VFFSL(SL,"column",True)) or '')) # u"$cgi.escape(unicode($getattr($book, $column) or ''))" on line 78, col 13
+ if _v is not None: write(_filter(_v, rawExpr=u"$cgi.escape(unicode($getattr($book, $column) or ''))")) # from line 78, col 13.
+ write(u'''</td>
''')
- 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''' </tr>
''')
- write(u''' </optgroup>
- </select>
- </div>
- <div style="width: 100%; text-align: center">
- <input type="submit" value="\u0421\u043a\u0430\u0447\u0430\u0442\u044c">
- </div>
+ write(u''' <tr>
+ <td colspan="''')
+ _v = VFFSL(SL,"columns1",True) # u'$columns1' on line 84, col 16
+ if _v is not None: write(_filter(_v, rawExpr=u'$columns1')) # from line 84, col 16.
+ write(u'''" style="text-align: center"><input type="submit" value="\u0421\u043a\u0430\u0447\u0430\u0442\u044c"></td>
+ </tr>
+ </table>
</form>
''')
- else: # generated from line 40, col 1
+ else: # generated from line 88, 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>
''')
# CHEETAH was developed by Tavis Rudd and Mike Orr
# with code, advice and input from many other volunteers.
-# For more information visit http://cheetahtemplate.org/
+# For more information visit https://cheetahtemplate.org/
##################################################
## if run from command line: