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