diff -r 000000000000 -r 5f4fcbc80b37 server/sbin/hypothesis_feed.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/sbin/hypothesis_feed.py Fri Sep 14 17:57:34 2018 +0200 @@ -0,0 +1,56 @@ + +#!/usr/bin/env python +# coding: utf-8 +import argparse +import json + +import requests + + +def retrieve_group_annotations(args): + + url = args.url + + if url is None: + raise argparse.ArgumentTypeError('URL must be provided') + + ids = [] + + params = {} + for config_tag in ['group', 'user', 'tag', 'limit']: + config_val = vars(args).get(config_tag) + if config_val is not None: + params[config_tag] = config_val + + headers = {} + token = args.token + if token is not None: + headers["Authorization"] = "Bearer " + token + + res = requests.get(url, params = params, headers = headers) + + print(res.json()["total"]) + return res.json() + +def save(data, path): + with open(path, 'w') as outfile: + json.dump(data, outfile, indent=4, separators=(',', ': ')) + + +if __name__ == "__main__": + + parser = argparse.ArgumentParser(description='Import annotations.') + + parser.add_argument("url", type=str, help="the search url") + parser.add_argument("--token", "-T", type=str, help="the access token") + parser.add_argument("--group", "-g", type=str, help="filter by group") + parser.add_argument("--user", "-u", type=str, help="filter by user") + parser.add_argument("--tag", "-t", type=str, help="filter by tag") + parser.add_argument("--limit", "-l", type=int, default=200, help="annoations limit") + + args = parser.parse_args() + + ids = retrieve_group_annotations(args) + + save(ids, "../assets/annotations.json") +