def get_id_by_name(tag_name, kind='z'): ''' Get ID by tag_name of the label. ''' recs = TabTag.select().where((TabTag.name == tag_name) & (TabTag.kind == kind)) logger.info('tag count of {0}: {1} '.format(tag_name, recs.count())) # the_id = '' if recs.count() == 1: the_id = recs.get().uid elif recs.count() > 1: rec0 = None for rec in recs: # Only keep one. if rec0: TabPost2Tag.delete().where( TabPost2Tag.tag_id == rec.uid).execute() TabTag.delete().where(TabTag.uid == rec.uid).execute() else: rec0 = rec the_id = rec0.uid else: the_id = MLabel.create_tag(tag_name) return the_id
def get_id_by_name(tag_name, kind='z'): recs = TabTag.select().where((TabTag.name == tag_name) & (TabTag.kind == kind)) logger.info('tag count of {0}: {1} '.format(tag_name, recs.count())) if recs.count() == 1: return recs.get().uid elif recs.count() > 1: idx = 0 rec0 = None for rec in recs: rec0 = rec # Only keep one. if idx == 0: pass else: TabPost2Tag.delete().where( TabPost2Tag.tag_id == rec.uid).execute() TabTag.delete().where(TabTag.uid == rec.uid).execute() idx += 1 return rec0.uid else: return MLabel.create_tag(tag_name)
def create_tag(tag_name, kind='z'): cur_count = TabTag.select().where((TabTag.name == tag_name) & (TabTag.kind == kind)).count() if cur_count > 0: TabTag.delete().where((TabTag.name == tag_name) & (TabTag.kind == kind)).execute() uid = tools.get_uu4d_v2() while TabTag.select().where(TabTag.uid == uid).count() > 0: uid = tools.get_uu4d_v2() TabTag.create( uid=uid, slug=uid, name=tag_name, order=1, count=0, kind='z', tmpl=9, pid='zzzz', ) return uid