def add_tags(repos_sn, json_arg): """ """ now = datetime.utcnow(); label_texts = re.split('\s*[;,,;/.。、\s]+\s*', json_arg['text']) labels = get_update_labels(repos_sn, label_texts, label_type="T") new_set = set(labels.values()) orig_tags = drecall(ts_repos_tags(repos_sn=repos_sn)) if orig_tags: old_set = set(orig_tags.labels) if old_set == new_set: return new_set = new_set.union(old_set) tags = ts_repos_tags(repos_sn=repos_sn) tags.labels = sorted(int(x) for x in new_set) tags.updated_ts = now dmerge(tags, orig_tags) return
def delete_repos_tags(repos_sn: int, label_sn:int): """ """ now = datetime.utcnow(); orig_tags = drecall(ts_repos_tags(repos_sn=repos_sn)) tags = ts_repos_tags(orig_tags) tags.labels = [] + tags.labels try: pos = tags.labels.index(label_sn) except: return del tags.labels[pos] tags.updated_ts = now dmerge(tags, orig_tags)