Пример #1
0
        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''')]
Пример #2
0
        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 ]
Пример #3
0
 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))
Пример #4
0
 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)
Пример #5
0
 def init(me):
     me.op = RelationsBase.Op()
     me.tag = Tags.Tag()
Пример #6
0
 def query_by_metatags( me, tree):
     return [ Tags.Tag( id=id_, name=name) for id_,name in me.query( me.build_metatags_sql( tree)) ]
Пример #7
0
 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)
Пример #8
0
 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
Пример #9
0
 def init( me):
     me.tag = Tags.Tag()
     me.metatag = MetaTags.MetaTag()
Пример #10
0
 def init( me):
     me.item = Archive.Item()
     me.tag = Tags.Tag()
Пример #11
0
 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
Пример #12
0
 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)) ]