]> git.phdru.name Git - m_librarian.git/blob - m_librarian/web/views/books_by_author.py
Feat(web): Сделать множественный выбор в списке книг
[m_librarian.git] / m_librarian / web / views / books_by_author.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4
5
6
7 ##################################################
8 ## DEPENDENCIES
9 import sys
10 import os
11 import os.path
12 try:
13     import builtins as builtin
14 except ImportError:
15     import __builtin__ as builtin
16 from os.path import getmtime, exists
17 import time
18 import types
19 from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion
20 from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple
21 from Cheetah.Template import Template
22 from Cheetah.DummyTransaction import *
23 from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList
24 from Cheetah.CacheRegion import CacheRegion
25 import Cheetah.Filters as Filters
26 import Cheetah.ErrorCatchers as ErrorCatchers
27 from Cheetah.compat import unicode
28 from views.layout import layout
29
30 ##################################################
31 ## MODULE CONSTANTS
32 VFFSL=valueFromFrameOrSearchList
33 VFSL=valueFromSearchList
34 VFN=valueForName
35 currentTime=time.time
36 __CHEETAH_version__ = '3.1.0'
37 __CHEETAH_versionTuple__ = (3, 1, 0, 'final', 1)
38 __CHEETAH_genTime__ = 1527212249.002131
39 __CHEETAH_genTimestamp__ = 'Fri May 25 04:37:29 2018'
40 __CHEETAH_src__ = 'books_by_author.tmpl'
41 __CHEETAH_srcLastModified__ = 'Fri May 25 04:37:19 2018'
42 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
43
44 if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
45     raise AssertionError(
46       'This template was compiled with Cheetah version'
47       ' %s. Templates compiled before version %s must be recompiled.'%(
48          __CHEETAH_version__, RequiredCheetahVersion))
49
50 ##################################################
51 ## CLASSES
52
53 class books_by_author(layout):
54
55     ##################################################
56     ## CHEETAH GENERATED METHODS
57
58
59     def __init__(self, *args, **KWs):
60
61         super(books_by_author, self).__init__(*args, **KWs)
62         if not self._CHEETAH__instanceInitialized:
63             cheetahKWArgs = {}
64             allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split()
65             for k,v in KWs.items():
66                 if k in allowedKWs: cheetahKWArgs[k] = v
67             self._initCheetahInstance(**cheetahKWArgs)
68         
69
70     def body(self, **KWS):
71
72
73
74         ## CHEETAH: generated from #def body at line 4, col 1.
75         trans = KWS.get("trans")
76         if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
77             trans = self.transaction # is None unless self.awake() was called
78         if not trans:
79             trans = DummyTransaction()
80             _dummyTrans = True
81         else: _dummyTrans = False
82         write = trans.response().write
83         SL = self._CHEETAH__searchList
84         _filter = self._CHEETAH__currentFilter
85         
86         ########################################
87         ## START - generated method body
88         
89         write(u'''<h1>''')
90         _v = VFFSL(SL,"title",True) # u'$title' on line 5, col 5
91         if _v is not None: write(_filter(_v, rawExpr=u'$title')) # from line 5, col 5.
92         write(u''' ''')
93         _v = VFFSL(SL,"author.fullname",True) # u'$author.fullname' on line 5, col 12
94         if _v is not None: write(_filter(_v, rawExpr=u'$author.fullname')) # from line 5, col 12.
95         write(u'''</h1>
96
97 ''')
98         if VFFSL(SL,"books",True): # generated from line 7, col 1
99             write(u'''  <form action="" method="POST" style="height: 80%">
100   <select multiple style="height: 90%">
101 ''')
102             series = None
103             for book in VFFSL(SL,"books",True): # generated from line 11, col 3
104                 if VFFSL(SL,"book.series",True) != VFFSL(SL,"series",True): # generated from line 12, col 3
105                     if VFFSL(SL,"series",True) is not None: # generated from line 13, col 3
106                         write(u'''  </optgroup>
107 ''')
108                     series = VFFSL(SL,"book.series",True)
109                     write(u'''  <optgroup label="''')
110                     if VFFSL(SL,"book.series",True): # generated from line 18, col 3
111                         _v = VFFSL(SL,"series",True) # u'$series' on line 19, col 1
112                         if _v is not None: write(_filter(_v, rawExpr=u'$series')) # from line 19, col 1.
113                     else: # generated from line 20, col 3
114                         write(u'''\u0412\u043d\u0435 \u0441\u0435\u0440\u0438\u0439''')
115                     write(u'''">
116 ''')
117                 write(u'''  <option value="''')
118                 _v = VFFSL(SL,"book.id",True) # u'$book.id' on line 25, col 18
119                 if _v is not None: write(_filter(_v, rawExpr=u'$book.id')) # from line 25, col 18.
120                 write(u'''">''')
121                 _v = VFFSL(SL,"book.ser_no",True) # u'$book.ser_no' on line 25, col 28
122                 if _v is not None: write(_filter(_v, rawExpr=u'$book.ser_no')) # from line 25, col 28.
123                 write(u''' ''')
124                 _v = VFFSL(SL,"book.title",True) # u'$book.title' on line 25, col 41
125                 if _v is not None: write(_filter(_v, rawExpr=u'$book.title')) # from line 25, col 41.
126                 write(u'''</option>
127 ''')
128             write(u'''  </optgroup>
129   </select>
130   </form>
131 ''')
132         else: # generated from line 30, col 1
133             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>
134 ''')
135         
136         ########################################
137         ## END - generated method body
138         
139         return _dummyTrans and trans.response().getvalue() or ""
140         
141
142     def writeBody(self, **KWS):
143
144
145
146         ## CHEETAH: main method generated for this template
147         trans = KWS.get("trans")
148         if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
149             trans = self.transaction # is None unless self.awake() was called
150         if not trans:
151             trans = DummyTransaction()
152             _dummyTrans = True
153         else: _dummyTrans = False
154         write = trans.response().write
155         SL = self._CHEETAH__searchList
156         _filter = self._CHEETAH__currentFilter
157         
158         ########################################
159         ## START - generated method body
160         
161         
162         ########################################
163         ## END - generated method body
164         
165         return _dummyTrans and trans.response().getvalue() or ""
166         
167     ##################################################
168     ## CHEETAH GENERATED ATTRIBUTES
169
170
171     _CHEETAH__instanceInitialized = False
172
173     _CHEETAH_version = __CHEETAH_version__
174
175     _CHEETAH_versionTuple = __CHEETAH_versionTuple__
176
177     _CHEETAH_genTime = __CHEETAH_genTime__
178
179     _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__
180
181     _CHEETAH_src = __CHEETAH_src__
182
183     _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__
184
185     title = 'Список книг автора'
186
187     _mainCheetahMethod_for_books_by_author = 'writeBody'
188
189 ## END CLASS DEFINITION
190
191 if not hasattr(books_by_author, '_initCheetahAttributes'):
192     templateAPIClass = getattr(books_by_author,
193                                '_CHEETAH_templateClass',
194                                Template)
195     templateAPIClass._addCheetahPlumbingCodeToClass(books_by_author)
196
197
198 # CHEETAH was developed by Tavis Rudd and Mike Orr
199 # with code, advice and input from many other volunteers.
200 # For more information visit http://cheetahtemplate.org/
201
202 ##################################################
203 ## if run from command line:
204 if __name__ == '__main__':
205     from Cheetah.TemplateCmdLineIface import CmdLineIface
206     CmdLineIface(templateObj=books_by_author()).run()
207
208