From 2190f080825d2e13eef187511faf5008cd7448a6 Mon Sep 17 00:00:00 2001 From: jrybicki-jsc <j.rybicki@fz-juelich.de> Date: Wed, 25 Aug 2021 12:57:51 +0200 Subject: [PATCH] client stub --- operators/st.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 operators/st.py diff --git a/operators/st.py b/operators/st.py new file mode 100644 index 0000000..88dbb35 --- /dev/null +++ b/operators/st.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 + +import argparse +import getpass +import json +from urllib.parse import urljoin +import sys + +import requests +import urllib.request +import tempfile + +server='https://b2share-testing.fz-juelich.de/' + +def get_objects(): + lst = requests.get(urljoin(server, 'api/records')).json() + return lst['hits']['hits'] + + +def get_object_md(oid): + obj= requests.get(urljoin(server, f"api/records/{oid}")).json() + return obj + +def get_file_list(obj): + file_url = obj['links']['files'] + fls = requests.get(file_url).json() + + return {it['key']: it['links']['self'] for it in fls['contents']} + +def download_file(url: str, target_dir: str): + _, fname = tempfile.mkstemp(dir=target_dir) + urllib.request.urlretrieve(url=url, filename=fname) + return fname + +if __name__=="__main__": + oid = 'b38609df2b334ea296ea1857e568dbea' + obj = get_object_md(oid=oid) + flist = get_file_list(obj=obj) + print(flist) -- GitLab