def call_books_over_limit(self): _is, msg = self.books.books_should_be_returned() if not _is: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) elif msg: tpl = self.basic_template.render( {'TEXTFIELD': template.call_show_books_over_limit}) page = stpy.Template(tpl).render({'res': msg}) else: page = self.basic_template.render( {'TEXTFIELD': template.call_show_books_over_limit_none}) return page
def call_show_lent_books(self): _is, msg = self.books.lent_books() if not _is: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) elif not msg: page = self.basic_template.render( {'TEXTFIELD': template.call_lent_books_none}) else: tpl = self.basic_template.render( {'TEXTFIELD': template.call_show_lent_books}) page = stpy.Template(tpl).render({'res': msg}) return page
def do_search_book(self, book_id, author, title, tags): _is, msg = self.books.search_book(book_id, author, title, tags) res = msg if not _is: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) elif not res: page = self.basic_template.render( {'TEXTFIELD': template.do_search_book_none}) else: tpl = self.basic_template.render( {'TEXTFIELD': template.do_search_book}) page = stpy.Template(tpl).render({'res': res}) return page
def do_search_person(self, person_id, firstname, surname, _class, semester, cellphone): _is, res = self.persons.search_person(person_id, firstname, surname, _class, semester, cellphone) if not _is: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': res}) elif not res: page = self.basic_template.render( {'TEXTFIELD': template.do_search_person_none}) else: tpl = self.basic_template.render( {'TEXTFIELD': template.do_search_person}) page = stpy.Template(tpl).render({'res': res}) return page
def do_lent_books_to(self, person_id): _is, msg = self.books.lent_books_to(person_id) if not _is: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) elif msg: tpl = self.basic_template.render( {'TEXTFIELD': template.call_show_lent_books_to}) page = stpy.Template(tpl).render({ 'res': msg, 'person_id': person_id }) else: page = self.basic_template.render( {'TEXTFIELD': template.call_show_lent_books_to_none}) return page
def __init__(self, conf): self.basic_template = stpy.Template(template.basic_template) dbcon = wrapper_set.SQLiteConnectMultithreadWrapper(conf['dbpath']) dbcur = dbcon.cursor() self.persons = lib_librarydb.Persons(dbcon, dbcur) self.books = lib_librarydb.Books(dbcon, dbcur) self.libsys = lib_librarydb.LibrarySystem(dbcon, dbcur)
def do_delete_person(self, person_id): _is, msg, books = self.persons.delete_person(person_id) if _is: page = self.basic_template.render( {'TEXTFIELD': template.successful}) elif books and not _is: tpl = self.basic_template.render( {'TEXTFIELD': template.call_show_lent_books_to_when_deleting}) page = stpy.Template(tpl).render({ 'res': books, 'person_id': person_id }) else: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) return page
def main(): # Load our appid sigs. apps = [] sigs = [] for filename in glob.glob('apps/*'): if filename in ['apps/COPYING', 'apps/LICENSE']: continue sig = parse_sig( os.path.basename(filename).lower(), open(filename).read()) sigs.append(sig) if 'appid' in sig: apps.append(sig) apps.sort(key=lambda a: a['appid']) app_by_name = dict([(a['name'], a) for a in sigs]) # Organize sigs by machine, with required sigs first. machine_list = ['dns', 'default', 'any8', 'any4', 'any16', 'any'] apps_by_machine = {} for m in machine_list: apps_by_machine[m] = [] for app in sigs: m = app.get('machine', 'default') if 'requires' in app: r = app_by_name[app['requires'].lower()] try: apps_by_machine[m].remove(r) except ValueError: pass apps_by_machine[m].insert(0, r) if not app in apps_by_machine[m]: apps_by_machine[m].append(app) # Organize ports by app name. app_ports = {} for app in apps: d = {'tcp': [], 'udp': []} for svc in app['ports']: proto, port = svc.split('/') if port != '*': d[proto].append(port) if d['tcp'] or d['udp']: app_ports[app['name']] = d # Write output files from templates using our sigs. for infile in glob.glob('*.tmpl'): outfile = os.path.splitext(infile)[0] print >> sys.stderr, '==> %s' % outfile f = open(outfile, 'w') t = stpy.Template(open(infile).read()) f.write( t.render(machine_list=machine_list, apps=apps, apps_by_machine=apps_by_machine, app_ports=app_ports, get_app_ragel=get_app_ragel)) f.close()
def do_return_book(self, person_id, book_id, amount): _is, msg = self.libsys.return_book(person_id, book_id, amount) if _is: page = self.basic_template.render( {'TEXTFIELD': template.successful}) else: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) return page
def do_delete_book(self, book_id): _is, msg = self.books.delete_book(book_id) if _is: page = self.basic_template.render( {'TEXTFIELD': template.successful}) else: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) return page
def do_edit_book_2(self, book_id, author, title, amount, tags): _is, msg = self.books.edit_book(book_id, author, title, amount, tags) if _is: page = self.basic_template.render( {'TEXTFIELD': template.successful}) else: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) return page
def call_show_books(self): res = self.books.show() if not res: page = self.basic_template.render( {'TEXTFIELD': template.call_show_books_none}) else: tpl = self.basic_template.render( {'TEXTFIELD': template.call_show_books}) page = stpy.Template(tpl).render({'res': res}) return page
def do_edit_book(self, book_id): _is, res = self.books.search_book(book_id, '', '', '') if not _is: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': res}) elif not res: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': 'No such book'}) else: book_id, author, title, amount, tags = res[0] tpl = self.basic_template.render( {'TEXTFIELD': template.do_edit_book}) page = stpy.Template(tpl).render({ 'book_id': book_id, 'author': author, 'title': title, 'amount': amount, 'tags': tags }) return page
def do_edit_person_2(self, person_id, firstname, surname, _class, semester, cellphone): _is, msg = self.persons.edit_person(person_id, firstname, surname, _class, semester, cellphone) if _is: page = self.basic_template.render( {'TEXTFIELD': template.successful}) return page else: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': msg}) return page
def do_edit_person(self, person_id): _is, res = self.persons.search_person(person_id, '', '', '', '', '') if not _is: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': res}) elif not res: tpl = self.basic_template.render({'TEXTFIELD': template.error}) page = stpy.Template(tpl).render({'msg': 'No such student'}) else: person_id, firstname, surname, _class, semester, cellphone = res[0] tpl = self.basic_template.render( {'TEXTFIELD': template.do_edit_person}) page = stpy.Template(tpl).render({ 'person_id': person_id, 'firstname': firstname, 'surname': surname, 'cellphone': cellphone, '_class': _class, 'semester': semester }) return page
def index(self): tpl = self.basic_template.render({'TEXTFIELD': template.index}) page = stpy.Template(tpl).render({'date': time.strftime("%d-%m-%Y")}) return page