lesscode-flask 0.1.5__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.5 → lesscode-flask-0.1.6}/PKG-INFO +1 -1
- {lesscode_flask-0.1.5 → 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.5 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/PKG-INFO +1 -1
- lesscode_flask-0.1.5/lesscode_flask/utils/oss/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/README.md +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/app.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/db/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/db/datasource.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/db/executor.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/export_data/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/export_data/data_download_handler.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/log/access_log_handler.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/model/access_log.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/model/base_model.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/model/parameterized_query.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/model/resource_param_template.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/model/response_result.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/model/user.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/service/access_log_service.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/service/base_service.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/service/resource_param_template_service.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/setting/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/setup/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/static/swagger.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/decorator/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/decorator/cache.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/decorator/swagger.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/file/file_exporter.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/helpers.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/redis/redis_helper.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/request/request.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/swagger/swagger_util.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/utils/thread/thread_utils.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask/wsgi.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/SOURCES.txt +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/dependency_links.txt +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/requires.txt +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/lesscode_flask.egg-info/top_level.txt +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/query_runner/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/query_runner/clickhouse.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/query_runner/elasticsearch.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/query_runner/kingbase.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/query_runner/mysql.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/query_runner/pg.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/settings/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/settings/helpers.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/utils/__init__.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/redash/utils/requests_session.py +0 -0
- {lesscode_flask-0.1.5 → lesscode-flask-0.1.6}/setup.cfg +0 -0
- {lesscode_flask-0.1.5 → 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()
|
|
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.5 → 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.5 → 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.5 → 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.5 → 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
|
|
File without changes
|