Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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()
    )
Ejemplo n.º 3
0
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))
Ejemplo n.º 4
0
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]
    }
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
    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'