def get_all_rels(me): return [(Tags.Tag(id=lid, name=lname), Tags.Tag(id=rid, name=rname)) for lid, lname, rid, rname in me.query(''' select inctags.ltag as leftid, ltags.name as lname, inctags.rtag as rightid, rtags.name as rname from inctags join tags as ltags on ltags.id == inctags.ltag join tags as rtags on rtags.id == inctags.rtag''')]
def delete_meta( me, metatag): me.sql('delete from metatags where id = ?', metatag.id) joints = [ Tags.Tag(id=id_, name=name) for id_, name in me.query(''' select tags.id as tag_id, tags.name as tag_name from tags join metatagging on tags.id == metatagging.joint_id where metatagging.meta_id=?''', metatag.id) ] for j in joints: me.delete_tag( j) del MetaTags.name2metatag[ metatag.name ]
def init( me, context): t2i = me.tag2items db = context.db for (tag_id, tag_name, item_id, item_name) in db.get_tagging(): t2i.setdefault( Tags.Tag( id=tag_id, name=tag_name), set()).add( Archive.Item( id=item_id, name=item_name))
def setup_result(me, path): me.tag = me.db.get_tag_by_name(path) or Tags.Tag(name=path) if me.tag.id: tags = set(me.get_results()) if me.tag not in tags: me.tag = Tags.Tag(name=path)
def init(me): me.op = RelationsBase.Op() me.tag = Tags.Tag()
def query_by_metatags( me, tree): return [ Tags.Tag( id=id_, name=name) for id_,name in me.query( me.build_metatags_sql( tree)) ]
def join_tag_meta( me, tag, *metatags): for meta in metatags: joint = Tags.Tag( name=MetaTags.joint_name( meta, tag)) me.save_tag( joint) me.sql('insert into metatagging(meta_id, tag_id, joint_id) values(?,?,?)', meta.id, tag.id, joint.id)
def setup_result( me, path): me.tag = me.db.get_tag_by_name( path) or Tags.Tag( name=path) if me.tag.id: tags = set( me.db.query_by_metatags( me.tree)) if me.tag not in tags: me.tag.id = None
def init( me): me.tag = Tags.Tag() me.metatag = MetaTags.MetaTag()
def init( me): me.item = Archive.Item() me.tag = Tags.Tag()
def get_tag_by_name( me, name): d = me.first( me.query('select id, name from tags where name=?', name)) if d: return Tags.Tag( id=d[0], name=d[1]) return None
def query_by_items( me, items_tree): return [ Tags.Tag( id=id_, name=name) for id_,name in me.query( me.build_items_sql( items_tree)) ]