def post_add(): edit_id = int(request.forms.edit_id) parent = int(request.forms.parent_id) name = request.forms.name description = request.forms.description if (name.strip() == '') or (description.strip() == ''): return 'title or description cannot be empty' already_registered = Elem.search_by_name_description(name, description) if already_registered: return 'link/folder already registered' type = FOLDER if description.lower().startswith('http'): type = LINK if edit_id > 0: elem = Elem.get_by_id(edit_id) elem.name = name elem.desc = description elem.type = type elem.update() else: Elem.insert( Elem(None, name, type, description, parent) ) return redirect('/view/%d' % (parent))
def view_folder(id): root = Elem.get_by_id(id) if not root: return 'not found' # getting all childrens (links/folders) links = root.get_elems() # the order if date asc, so go desc links.reverse() # getting the parent tree tree = [] elem_i = root while elem_i is not None: tree.insert(0, elem_i) elem_i = elem_i.get_parent() return template( 'view', folder_id=root.id, folder_parent=root.parent, elems=links, parent_tree=tree, **get_permissions() )
def delete_get(id): elem = Elem.get_by_id(id) parent = elem.get_parent() if not elem: return 'not found' else: elem.remove() return redirect('/view/%d' % (parent.id))
def get_folder_childs(id): root = Elem.get_by_id(id) if not root: return {'error': u'not found'} links = root.get_elems() tree = [] elem_i = root while elem_i is not None: tree.insert(0, elem_i) elem_i = elem_i.get_parent() return { 'folder': root.__dict__, 'childs': [i.__dict__ for i in links], 'tree': [i.__dict__ for i in tree] }
def get_add(parent_id, edit_id): edit_object = Elem.get_by_id(edit_id) return template('add', parent_id=parent_id, edit_object=edit_object)
NAME TEXT NOT NULL, DESCRIPTION TEXT NOT NULL, PARENT INTEGER ) ''' USER_TABLE = ''' CREATE TABLE USER ( ID INTEGER PRIMARY KEY, NAME TEXT NOT NULL, AUTHSTRING TEXT ) ''' try: Elem.get_by_id(1) except sqlite3.OperationalError: print 'tables not found...creating tables' connection = sqlite3.connect('./db.db') cursor = connection.cursor() cursor.execute(ELEM_TABLE) cursor.execute(USER_TABLE) connection.commit() connection.close() user_key = raw_input('Enter user key: ') see = raw_input('It can see links? (y/n) ').lower() == 'y' add = raw_input('It can add links? (y/n) ').lower() == 'y' delete = raw_input('It can delete links?(y/n) ').lower() == 'y' edit = raw_input('It can edit links? (y/n) ').lower() == 'y'