--- /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")
+