From b8866fa549ab32551610c955e8764a851ec31daf Mon Sep 17 00:00:00 2001 From: Steffen Vogel <post@steffenvogel.de> Date: Mon, 23 Nov 2020 20:49:02 +0100 Subject: [PATCH] added new package villas.web for loading results from VILLASweb --- setup.py | 5 +++-- villas/web/__init__.py | 0 villas/web/result.py | 28 ++++++++++++++++++++++++++++ villas/web/result_test.py | 11 +++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 villas/web/__init__.py create mode 100644 villas/web/result.py create mode 100644 villas/web/result_test.py diff --git a/setup.py b/setup.py index c87d586..05af92d 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ setup( license = 'GPL-3.0', keywords = 'simulation power system real-time data processing', url = 'https://git.rwth-aachen.de/acs/public/villas/dataprocessing', - packages = [ 'villas.dataprocessing' ], + packages = [ 'villas.dataprocessing', 'villas.web' ], long_description = read('README.md'), classifiers = [ 'Development Status :: 4 - Beta', @@ -45,7 +45,8 @@ setup( install_requires = [ 'matplotlib', 'numpy', - 'pandas' + 'pandas', + 'requests' ], setup_requires = [ 'm2r', diff --git a/villas/web/__init__.py b/villas/web/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/villas/web/result.py b/villas/web/result.py new file mode 100644 index 0000000..73ccc8e --- /dev/null +++ b/villas/web/result.py @@ -0,0 +1,28 @@ +import requests +from zipfile import ZipFile + +class Result: + + def __init__(self, file_id, token, endpoint='https://villas.k8s.eonerc.rwth-aachen.de'): + self.file_id = file_id + self.token = token + self.endpoint = endpoint + + def open(self): + resp = requests.request('GET', + url=f'{self.endpoint}/api/v2/files/{self.file_id}', + headers={ + 'Authorization': 'Bearer ' + self.token + }, + stream=True) + + resp.raise_for_status() + + return resp.raw + + def open_zip(self, filename): + f = self.open() + + zf = ZipFile(f) + + return zf.open(filename) diff --git a/villas/web/result_test.py b/villas/web/result_test.py new file mode 100644 index 0000000..f561a16 --- /dev/null +++ b/villas/web/result_test.py @@ -0,0 +1,11 @@ +import pandas +from villas.web.result import Result + +if __name__ == '__main__': + + r = Result('https://l.0l.de/W3OQo', '') + f = r.open_zip('Sample100.csv') + + df = pandas.read_csv(f) + + print(df) -- GitLab