Example #1
0
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
Example #2
0
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)