def main(): form = cgi.FieldStorage() if 'categoryid' in form: print_headers(int(form.getvalue('categoryid'))) elif 'categoryname' in form: print_headers(catname=form.getvalue('categoryname')) else: print_headers() print '''<form name="category" action="category_info.py" method="get">''' print '''Input a category name''' print '''<input type="text" name="categoryname" size="4" /> <input type="submit" value="Display" />''' print '''</form>''' category = None if "categoryid" in form: categoryid = int(form.getvalue("categoryid")) category = db.get_category(categoryid) elif "categoryname" in form: try: category = db.get_category_byname(form.getvalue("categoryname")) except Exception: print '''Error: category '%s' not found''' % form.getvalue("categoryname") if category != None: print '''<b>Info for category %s:</b><br />''' % category print '''<b>Items in this category </b><br/><table> <thead> <th>ItemID</th> <th>Name</th> </thead>''' for item in db.get_items(show_categories=[category.get_name()], hide_categoryless=True): print '''<tr><td><a href="%s">%d</a></td><td>%s</td></tr>''' % (db.get_item_info_page_link(item.get_id()),item.get_id(), item.get_name()) print '''</table>'''
def log_exception(*args): print 'Error: %s' % (args[1],) sys.excepthook = log_exception form = cgi.FieldStorage() print 'Content-type: text/plain\n' action = form.getvalue('action') if action == 'add': if 'cat' in form: catname = form.getvalue('cat').strip() if db.is_category_byname(catname): raise Exception('category already exists') else: db.add_category(catname) cat = db.get_category_byname(catname) print '%d,%s' % (cat.get_id(), cat.get_name()) else: raise Exception('no name given to add') elif action == 'remove': catid = form.getvalue('catid') if not db.is_category(catid): raise Exception ('category not in database') else: cat = db.get_category(catid) db.remove_category(cat) print '' elif action == 'query': cat_list = [cat.get_name() for cat in db.get_categories()] print ','.join(cat_list) elif action == 'query-name':