lesscode-flask 0.1.4__tar.gz → 0.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/PKG-INFO +1 -1
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/__init__.py +1 -1
- lesscode-flask-0.1.6/lesscode_flask/utils/oss/__init__.py +92 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/swagger/swagger_util.py +1 -1
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/PKG-INFO +1 -1
- lesscode_flask-0.1.4/lesscode_flask/utils/oss/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/README.md +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/app.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/db/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/db/datasource.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/db/executor.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/export_data/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/export_data/data_download_handler.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/log/access_log_handler.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/model/access_log.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/model/base_model.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/model/parameterized_query.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/model/resource_param_template.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/model/response_result.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/model/user.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/service/access_log_service.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/service/base_service.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/service/resource_param_template_service.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/setting/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/setup/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/static/swagger.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/decorator/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/decorator/cache.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/decorator/swagger.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/file/file_exporter.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/helpers.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/redis/redis_helper.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/request/request.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/thread/thread_utils.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/wsgi.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/SOURCES.txt +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/dependency_links.txt +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/requires.txt +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/top_level.txt +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/query_runner/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/query_runner/clickhouse.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/query_runner/elasticsearch.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/query_runner/kingbase.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/query_runner/mysql.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/query_runner/pg.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/settings/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/settings/helpers.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/utils/__init__.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/redash/utils/requests_session.py +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/setup.cfg +0 -0
- {lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/setup.py +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
|
|
4
|
+
from lesscode_flask.utils.helpers import app_config
|
|
5
|
+
from lesscode_flask.utils.oss.ks3_oss import Ks3Oss
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class CommonOss:
|
|
9
|
+
def __init__(self, storage_type, **kwargs):
|
|
10
|
+
self.storage_type = storage_type
|
|
11
|
+
self.storage_config = kwargs.get("storage_config", {}) if kwargs.get("storage_config", {}) else app_config.get(
|
|
12
|
+
"STORAGE_CONFIG", {})
|
|
13
|
+
|
|
14
|
+
def upload(self, **kwargs):
|
|
15
|
+
file_url_list = []
|
|
16
|
+
files = kwargs.get("files", [])
|
|
17
|
+
if not files:
|
|
18
|
+
raise Exception("files is empty")
|
|
19
|
+
if self.storage_type == "ks3":
|
|
20
|
+
storage_config = self.storage_config or dict()
|
|
21
|
+
ks3 = Ks3Oss(**storage_config)
|
|
22
|
+
for f in files:
|
|
23
|
+
if not isinstance(f, dict):
|
|
24
|
+
file_name = f.filename
|
|
25
|
+
stream = f.stream.read()
|
|
26
|
+
file_stream = BytesIO(stream)
|
|
27
|
+
content = file_stream.getvalue().decode('utf-8')
|
|
28
|
+
url = ks3.save(key=file_name, content=content, content_type="string", policy="public-read")
|
|
29
|
+
file_url_list.append({"key": file_name, "url": url})
|
|
30
|
+
else:
|
|
31
|
+
key = f.get("key", "")
|
|
32
|
+
_steam = f.get("stream")
|
|
33
|
+
stream = _steam.stream.read()
|
|
34
|
+
file_stream = BytesIO(stream)
|
|
35
|
+
content = file_stream.getvalue().decode('utf-8')
|
|
36
|
+
url = ks3.save(key=key, content=content, content_type="string", policy="public-read")
|
|
37
|
+
file_url_list.append({"key": key, "url": url})
|
|
38
|
+
elif self.storage_type == "file":
|
|
39
|
+
storage_dir = kwargs.get("storage_dir", "")
|
|
40
|
+
if not storage_dir:
|
|
41
|
+
storage_dir = app_config.get("STORAGE_DIR")
|
|
42
|
+
if not storage_dir:
|
|
43
|
+
raise Exception("storage_dir is empty")
|
|
44
|
+
|
|
45
|
+
for f in files:
|
|
46
|
+
if not isinstance(f, dict):
|
|
47
|
+
file_name = f.filename
|
|
48
|
+
stream = f.stream.read()
|
|
49
|
+
file_stream = BytesIO(stream)
|
|
50
|
+
file_path = os.path.join(storage_dir, file_name)
|
|
51
|
+
with open(file_path, 'wb') as outfile:
|
|
52
|
+
outfile.write(file_stream.getvalue())
|
|
53
|
+
file_url_list.append({"key": file_name, "url": file_path})
|
|
54
|
+
else:
|
|
55
|
+
key = f.get("key", "")
|
|
56
|
+
_steam = f.get("stream")
|
|
57
|
+
stream = _steam.stream.read()
|
|
58
|
+
file_stream = BytesIO(stream)
|
|
59
|
+
key_list = []
|
|
60
|
+
if "\\" in key:
|
|
61
|
+
key_list = key.split("\\")
|
|
62
|
+
if "/" in key:
|
|
63
|
+
key_list = key.split("/")
|
|
64
|
+
file_path = storage_dir
|
|
65
|
+
if key_list:
|
|
66
|
+
for k in key_list:
|
|
67
|
+
file_path = os.path.join(file_path, k)
|
|
68
|
+
with open(file_path, 'wb') as outfile:
|
|
69
|
+
outfile.write(file_stream.getvalue())
|
|
70
|
+
file_url_list.append({"key": key, "url": file_path})
|
|
71
|
+
return file_url_list
|
|
72
|
+
|
|
73
|
+
def download(self, key, **kwargs):
|
|
74
|
+
if self.storage_type == "ks3":
|
|
75
|
+
storage_config = self.storage_config or dict()
|
|
76
|
+
ks3 = Ks3Oss(**storage_config)
|
|
77
|
+
return ks3.get_file(key)
|
|
78
|
+
if self.storage_type == "file":
|
|
79
|
+
storage_dir = kwargs.get("storage_dir", "")
|
|
80
|
+
if not storage_dir:
|
|
81
|
+
storage_dir = app_config.get("STORAGE_DIR")
|
|
82
|
+
key_list = []
|
|
83
|
+
if "\\" in key:
|
|
84
|
+
key_list = key.split("\\")
|
|
85
|
+
if "/" in key:
|
|
86
|
+
key_list = key.split("/")
|
|
87
|
+
file_path = storage_dir
|
|
88
|
+
if key_list:
|
|
89
|
+
for k in key_list:
|
|
90
|
+
file_path = os.path.join(file_path, k)
|
|
91
|
+
with open(file_path, 'rb') as f:
|
|
92
|
+
return f.read()
|
|
@@ -97,7 +97,7 @@ def replace_symbol(path):
|
|
|
97
97
|
return path[::-1]
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
def get_sample_data(type, param, param_template_dict):
|
|
100
|
+
def get_sample_data(type, param=None, param_template_dict=None):
|
|
101
101
|
if param_template_dict and param_template_dict.get(param.name):
|
|
102
102
|
return param_template_dict.get(param.name, {}).get("param_sample")
|
|
103
103
|
elif type == "dict":
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/export_data/data_download_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/model/resource_param_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/json/NotSortJSONProvider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode_flask-0.1.4 → lesscode-flask-0.1.6}/lesscode_flask/utils/swagger/swagger_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|