Example #1
0
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':