diff --git a/setup.py b/setup.py index c87d5860212d82cc8628e4efe0d168c0882c52ee..05af92dd54dda1b3fa181edb55ab3cc1d22cd21d 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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/villas/web/result.py b/villas/web/result.py new file mode 100644 index 0000000000000000000000000000000000000000..73ccc8ef62e5cae8c29a483c04b549a4b69fdabf --- /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 0000000000000000000000000000000000000000..f561a16f8f64768c3a6f9fa9ddf6d7b15c1b5233 --- /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)