form = cgi.FieldStorage() print 'Content-type: text/plain\n' action = form.getvalue('action') if action == 'add': if 'item_id' in form and 'cat_id' in form: itemid = int(form.getvalue('item_id')) item = db.get_item(itemid) catid = int(form.getvalue('cat_id')) cat = db.get_category(catid) if db.is_category_item(item,cat): raise Exception ('%s is already a category for %s' % (cat, item)) else: db.add_category_item(item,cat) new_cat_item_id = db.get_category_item(item.get_id(),cat.get_id()).get_id() print '%d,%s,%s' % (new_cat_item_id, db.get_category_info_page_link(catid),cat) else: raise Exception ('need item_id and cat_id, given: %s ' % form.keys()) elif action == 'remove': if 'cat_item_id' in form: catitemid = int(form.getvalue('cat_item_id')) db.remove_category_item_byid(catitemid) elif 'item_id' in form and 'cat_id' in form: itemid = int(form.getvalue('item_id')) item = db.get_item(itemid) catid = int(form.getvalue('cat_id')) cat = db.get_category(catid) db.remove_category_item(item,cat) else: raise Exception ('no cat_item_id given') elif action != None:
def print_categories(item): print '<table id="categories">' print '''<thead> <th>Category</th> <th>Remove</th> </thead>''' for category_item in item.get_category_items(): category = db.get_category(category_item.get_cat_id()) print '''<tr id="%d_category_tr"><td><a href="%s">%s</a></td><td><button type="button" onClick="removeCategory(%d)"> remove </button> </td>''' % (category_item.get_id(),db.get_category_info_page_link(category.get_id()),category.get_name(),category_item.get_id()) print '''</table>''' print '<select id="new_category">' for cat in db.get_categories(): print '''<option value="%d"> %s </option>''' % (cat.get_id(), cat) print '</select>' print '''<button type="button" onClick="addCategory()"> Add Category </button>''' print '<br />'*2