Commit e60789b3 authored by wanli's avatar wanli

修复后端框架问题以及完善文件管理器

parent daeea215
...@@ -60,14 +60,8 @@ def _custom_abort(http_status_code, **kwargs): ...@@ -60,14 +60,8 @@ def _custom_abort(http_status_code, **kwargs):
自定义abort 400响应数据格式 自定义abort 400响应数据格式
""" """
if http_status_code == 400: if http_status_code == 400:
message = kwargs.get('msg') return abort(jsonify(response_result(ResponseCode.HTTP_INVAILD_REQUEST, msg=kwargs)))
if isinstance(message, dict):
param, info = list(message.items())[0]
data = '{}:{}!'.format(param, info)
return abort(jsonify(response_result(ResponseCode.HTTP_INVAILD_REQUEST, data=data)))
else:
return abort(jsonify(response_result(ResponseCode.HTTP_INVAILD_REQUEST, data=message)))
# return { 'code': http_status_code, 'msg': kwargs.get('message') }
return abort(http_status_code) return abort(http_status_code)
def _access_control(response): def _access_control(response):
......
''' '''
Author: your name Author: your name
Date: 2021-06-30 17:43:46 Date: 2021-06-30 17:43:46
LastEditTime: 2021-07-12 10:45:38 LastEditTime: 2021-07-14 18:40:19
LastEditors: Please set LastEditors LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\application\config.py FilePath: \evm-store\tools\build_out\application\config.py
......
''' '''
Author: your name Author: your name
Date: 2021-06-30 18:03:41 Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-14 18:14:38 LastEditTime: 2021-07-15 10:23:56
LastEditors: your name LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\application\signal_manager.py FilePath: \evm-store\tools\build_out\application\signal_manager.py
''' '''
......
''' '''
Author: your name Author: your name
Date: 2021-06-30 17:43:46 Date: 2021-06-30 17:43:46
LastEditTime: 2021-07-14 18:22:50 LastEditTime: 2021-07-15 10:24:23
LastEditors: your name LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\controllers\__init__.py FilePath: \evm-store\tools\build_out\controllers\__init__.py
''' '''
......
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.annex import AnnexModel from models.annex import AnnexModel
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class AnnexResource(object): class AnnexResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class AnnexResource(object): ...@@ -13,8 +16,8 @@ class AnnexResource(object):
filters = [AnnexModel.is_delete==False, AnnexModel.uuid==uuid] filters = [AnnexModel.is_delete==False, AnnexModel.uuid==uuid]
result = AnnexModel.query.filter(*filters).first() result = AnnexModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class AnnexResource(object): ...@@ -22,7 +25,9 @@ class AnnexResource(object):
filters = [AnnexModel.is_delete==False] filters = [AnnexModel.is_delete==False]
result = AnnexModel.query.filter(*filters).order_by(AnnexModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = AnnexModel.query.filter(*filters).order_by(AnnexModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class AnnexResource(object): ...@@ -32,20 +37,20 @@ class AnnexResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = AnnexModel(**params) result = AnnexModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = AnnexModel.query.filter(AnnexModel.uuid==uuid).first() result = AnnexModel.query.filter(AnnexModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class AnnexResource(object): ...@@ -53,21 +58,21 @@ class AnnexResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = AnnexModel.query.filter(AnnexModel.uuid==uuid).first() result = AnnexModel.query.filter(AnnexModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
annexManager = AnnexResource() annexManager = AnnexResource()
\ No newline at end of file
'''
Author: your name
Date: 2021-07-12 11:14:48
LastEditTime: 2021-07-12 11:29:36
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\controllers\appi.py
'''
import os
import re
import json
import shutil
from urllib import parse
from datetime import datetime
from application.app import db, config
from models.annex import AnnexModel
from models.app import AppModel
from models.user import UserModel
from models.package import PackageModel
from webcreator.log import logger
from webcreator import utils
from webcreator.utils.epk import EpkApp
from webcreator.response import ResponseCode
class BuildAppResource(object):
def __init__(self):
super().__init__()
def post(self, params, jwt={}):
logger.info(params)
user = UserModel.query.filter(UserModel.id==jwt['id'])
if not user:
return False, ResponseCode.USER_NOT_EXISTS
if params.get("access_key"):
params.pop("access_key")
params.update({
'create_by': user,
'create_at': datetime.now(),
'update_by': user,
'update_at': datetime.now(),
})
app = AppModel(**params)
db.session.add(app)
db.session.commit()
dir_format = "{}-{}-{}".format(app.app_name, app.app_version, datetime.now().strftime("%Y%m%d%H%M%S"))
upload_dir = os.sep.join([config.UPLOAD_ROOT_DIR, "evueapps"])
target_dir = os.sep.join([upload_dir, user.account, dir_format])
dest_dir = os.sep.join([target_dir, "src"])
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
for target_file in params.get('files'):
filename = os.path.basename(target_file)
name, suffix = os.path.splitext(filename)
name = re.sub(r"_\d{14}$", "", name)
dst_file = os.path.normpath(os.sep.join([dest_dir, name + suffix]))
shutil.copy(os.path.normpath(target_file), dst_file)
res = AnnexModel(app=app, title=filename, path=dst_file.replace(config.UPLOAD_ROOT_DIR, ""), size=os.path.getsize(dst_file), create_by=user, create_at=datetime.now(), update_by=user, update_at=datetime.now())
db.session.add(res)
db.session.flush()
db.session.commit()
# 打包成EPK文件
app_info = {}
params = { 'appName': app.app_name, 'appDir': dest_dir, 'appVersion': app.app_version, 'output': target_dir }
if user.role == "administrator" or user.role == "community":
params['algorithm'] = "h"
epk = EpkApp(**params)
app_info = epk.pack()
app_info['md5'] = str(app_info['md5'])
# 更新数据库对应文件路径
# 将文件拷贝过去后,需要重新更新数据库文件记录
epk_path = os.sep.join([target_dir.replace(config.UPLOAD_ROOT_DIR, ""), "{}.epk".format(app.app_name)]).replace('\\', '/')
result = PackageModel.query.filter(PackageModel.app==app.id).one_or_none()
if result:
result.app_path = epk_path
result.app_info = app_info
result.update_by = user
result.update_at = datetime.now()
db.session.commit()
else:
result = PackageModel(app=app.id, file_path=epk_path, package_info=app_info, app_version=params.get("app_version"), source=2, create_by=user, create_at=datetime.now(), update_by=user, update_at=datetime.now())
db.session.add(result)
db.session.commit()
with open(os.sep.join([target_dir, "epk.json"]), "w") as f:
json.dump(app.to_dict(), f)
return { 'app_name': app.app_name, 'app_file': "{}.epk".format(app.app_name), 'app_url': parse.urljoin(config['UPLOAD_SERVER'], epk_path) }, ResponseCode.HTTP_SUCCESS
buildAppResource = BuildAppResource()
''' #!/usr/bin/env python
Author: your name # -*- coding: utf_8 -*-
Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-12 11:31:06
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\controllers\area.py
'''
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.area import AreaModel from models.area import AreaModel
...@@ -22,7 +17,7 @@ class AreaResource(object): ...@@ -22,7 +17,7 @@ class AreaResource(object):
result = AreaModel.query.filter(*filters).first() result = AreaModel.query.filter(*filters).first()
if result: if result:
return result, ResponseCode.HTTP_SUCCESS return result, ResponseCode.HTTP_SUCCESS
return result, ResponseCode.HTTP_NOT_FOUND return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -49,13 +44,13 @@ class AreaResource(object): ...@@ -49,13 +44,13 @@ class AreaResource(object):
result = AreaModel(**params) result = AreaModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = AreaModel.query.filter(AreaModel.uuid==uuid).first() result = AreaModel.query.filter(AreaModel.uuid==uuid).first()
if not result: if not result:
return False, ResponseCode.HTTP_NOT_FOUND return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -80,4 +75,4 @@ class AreaResource(object): ...@@ -80,4 +75,4 @@ class AreaResource(object):
db.session.commit() db.session.commit()
return True, ResponseCode.HTTP_SUCCESS return True, ResponseCode.HTTP_SUCCESS
areaManager = AreaResource() areaManager = AreaResource()
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.device import DeviceModel from models.device import DeviceModel
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class DeviceResource(object): class DeviceResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class DeviceResource(object): ...@@ -13,8 +16,8 @@ class DeviceResource(object):
filters = [DeviceModel.is_delete==False, DeviceModel.uuid==uuid] filters = [DeviceModel.is_delete==False, DeviceModel.uuid==uuid]
result = DeviceModel.query.filter(*filters).first() result = DeviceModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class DeviceResource(object): ...@@ -22,7 +25,9 @@ class DeviceResource(object):
filters = [DeviceModel.is_delete==False] filters = [DeviceModel.is_delete==False]
result = DeviceModel.query.filter(*filters).order_by(DeviceModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = DeviceModel.query.filter(*filters).order_by(DeviceModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class DeviceResource(object): ...@@ -32,20 +37,20 @@ class DeviceResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = DeviceModel(**params) result = DeviceModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = DeviceModel.query.filter(DeviceModel.uuid==uuid).first() result = DeviceModel.query.filter(DeviceModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class DeviceResource(object): ...@@ -53,21 +58,21 @@ class DeviceResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = DeviceModel.query.filter(DeviceModel.uuid==uuid).first() result = DeviceModel.query.filter(DeviceModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
deviceManager = DeviceResource() deviceManager = DeviceResource()
\ No newline at end of file
...@@ -55,7 +55,7 @@ class FileManager(object): ...@@ -55,7 +55,7 @@ class FileManager(object):
@param {*} self @param {*} self
@return {*} @return {*}
''' '''
def content(self, disk, target_path='/'): def content(self, disk, target_path=""):
''' '''
目录信息结构体: 目录信息结构体:
{ {
...@@ -86,7 +86,6 @@ class FileManager(object): ...@@ -86,7 +86,6 @@ class FileManager(object):
} }
''' '''
target_path = Path(target_path)
result = { result = {
"directories": [], "directories": [],
"files": [] "files": []
...@@ -96,7 +95,14 @@ class FileManager(object): ...@@ -96,7 +95,14 @@ class FileManager(object):
if not disk_path.exists(): if not disk_path.exists():
return result return result
target_path = disk_path.joinpath(target_path) if target_path == None:
target_path = ""
if target_path.startswith("/"):
target_path = target_path[1:]
target_path = disk_path.joinpath(Path(target_path))
if not target_path.exists(): if not target_path.exists():
return result return result
...@@ -112,7 +118,7 @@ class FileManager(object): ...@@ -112,7 +118,7 @@ class FileManager(object):
else: else:
result["files"].append({ result["files"].append({
"basename": child.name, "basename": child.name,
"dirname": child.parent, "dirname": child.parent.relative_to(disk_path).as_posix(),
"extension": child.suffix[1:], "extension": child.suffix[1:],
"filename": child.stem, "filename": child.stem,
"path": child.resolve().relative_to(disk_path).as_posix(), "path": child.resolve().relative_to(disk_path).as_posix(),
...@@ -121,13 +127,14 @@ class FileManager(object): ...@@ -121,13 +127,14 @@ class FileManager(object):
"type": "file" "type": "file"
}) })
# pprint.pprint(result)
with open("result.json", "w") as f: with open("result.json", "w") as f:
json.dump(result, f) json.dump(result, f)
f.seek(0) f.seek(0)
f.truncate() f.truncate()
f.write(json.dumps(result, ensure_ascii=True)) f.write(json.dumps(result, ensure_ascii=True))
pprint.pprint(result)
return result, ResponseCode.HTTP_SUCCESS return result, ResponseCode.HTTP_SUCCESS
''' '''
...@@ -135,7 +142,7 @@ class FileManager(object): ...@@ -135,7 +142,7 @@ class FileManager(object):
@param {*} self @param {*} self
@return {*} @return {*}
''' '''
def tree(self, disk, target_path="/"): def tree(self, disk, target_path=""):
''' '''
{ {
basename: "trees" basename: "trees"
...@@ -149,13 +156,18 @@ class FileManager(object): ...@@ -149,13 +156,18 @@ class FileManager(object):
} }
''' '''
target_path = Path(target_path)
result = [] result = []
rp = Path(disk_root) rp = Path(disk_root)
disk_path = rp / disk disk_path = rp / disk
if not disk_path.exists(): if not disk_path.exists():
return result return result
if target_path == None:
target_path = ""
if target_path.startswith("/"):
target_path = target_path[1:]
temp_path = disk_path.joinpath(target_path) temp_path = disk_path.joinpath(target_path)
if not temp_path.exists(): if not temp_path.exists():
return result return result
...@@ -173,7 +185,7 @@ class FileManager(object): ...@@ -173,7 +185,7 @@ class FileManager(object):
"timestamp": int(child.stat().st_mtime), "timestamp": int(child.stat().st_mtime),
"type": "dir" "type": "dir"
}) })
pprint.pprint(result) # pprint.pprint(result)
return result, ResponseCode.HTTP_SUCCESS return result, ResponseCode.HTTP_SUCCESS
......
'''
Author: your name
Date: 2021-06-29 19:24:32
LastEditTime: 2021-07-12 12:09:34
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\backend\controller\monitor.py
'''
from application.app import db
from models.monitorEvm import MonitorEvmModel
from models.monitorImage import MonitorImageModel
from models.monitorLvgl import MonitorLvglModel
from models.monitorSystem import MonitorSystemModel
from models.monitorWatch import MonitorWatchModel
class SystemResource(object):
def get(self):
return MonitorSystemModel.query.all()
def post(self, params):
result = MonitorSystemModel(**params)
db.session.add(result)
db.session.commit()
return True
class LvglResource(object):
def get(self):
return MonitorLvglModel.query.all()
def post(self, params):
result = MonitorLvglModel(**params)
db.session.add(result)
db.session.commit()
return True
class EvmResource(object):
def get(self):
return MonitorEvmModel.query.all()
def post(self, params):
result = MonitorEvmModel(**params)
db.session.add(result)
db.session.commit()
return True
class ImageResource(object):
def get(self):
return MonitorImageModel.query.all()
def post(self, params):
result = MonitorImageModel(**params)
db.session.add(result)
db.session.commit()
return True
def post_array(self, array, watch):
t = []
for a in array:
a.update({ "watch": watch })
t.append(**a)
db.session.execute(MonitorImageModel.__table__.insert(), t)
db.session.commit()
return True
systemResource = SystemResource()
lvglResource = LvglResource()
evmResource = EvmResource()
imageResource = ImageResource()
def insert_data(msg):
# 先判断手表imei是否存在,不存在则先注册手表IMEI
watch_id = -1
if msg.get("imei"):
result = MonitorWatchModel.query.filter_by(imei=msg.get("imei")).one_or_none()
if result:
watch_id = result.id
else:
result = MonitorWatchModel.query.filter(MonitorWatchModel.imei==msg.get("imei")).one_or_none()
db.session.add(result)
db.session.commit()
watch_id = result.id
if msg.get("system") or msg.get("request"):
msg.get("system", {}).update({ "watch": watch_id })
msg.get("system").update(msg.get("request", {}))
systemResource.post(msg.get("system"))
if msg.get("lvgl"):
msg.get("lvgl").update({ "watch": watch_id })
lvglResource.post(msg.get("lvgl"))
if msg.get("evm"):
msg.get("evm").update({ "watch": watch_id })
evmResource.post(msg.get("evm"))
if msg.get("image"):
imageResource.post_array(msg.get("image"), watch_id)
def get_watch_list():
result = MonitorWatchModel.query.all()
tmp = []
for item in result:
tmp.append({
'id': item.id,
'imei': item.imei
})
return tmp
def evm_data(watch, start, end):
filters = [MonitorEvmModel.watch==watch]
if start:
filters.append(MonitorEvmModel.timestamp >= start)
if end:
filters.append(MonitorEvmModel.timestamp <= end)
result = MonitorEvmModel.query.filter(*filters).order_by(MonitorEvmModel.timestamp).all()
temp = []
for item in result:
t = item.to_dict()
if t.get("timestamp"):
t.update({ 'timestamp': t.get("timestamp").strftime("%Y-%m-%d %H:%M:%S") })
temp.append(t)
return temp
def lvgl_data(watch, start, end):
filters = [MonitorLvglModel.watch==watch]
if start:
filters.append(MonitorLvglModel.timestamp>=start)
if end:
filters.append(MonitorLvglModel.timestamp<=end)
result = MonitorLvglModel.query.filter(*filters).order_by(MonitorLvglModel.timestamp).all()
temp = []
for item in result:
t = item.to_dict()
if t.get("timestamp"):
t.update({ 'timestamp': t.get("timestamp").strftime("%Y-%m-%d %H:%M:%S") })
temp.append(t)
return temp
def image_data(watch, start, end):
filters = [MonitorImageModel.watch==watch]
if start:
filters.append(MonitorImageModel.timestamp>=start)
if end:
filters.append(MonitorImageModel.timestamp<=end)
result = MonitorImageModel.query.filter(*filters).order_by(MonitorImageModel.timestamp).all()
temp = []
for item in result:
t = item.to_dict()
if t.get("timestamp"):
t.update({ 'timestamp': t.get("timestamp").strftime("%Y-%m-%d %H:%M:%S") })
temp.append(t)
return temp
def get_monitor_list(watch, category, start, end):
# 判断watch是否存在
w = MonitorWatchModel.query.filter(MonitorWatchModel.id==watch).first()
if not w:
return []
if category == "system":
return []
elif category == "image":
return image_data(watch, start, end)
elif category == "lvgl":
return lvgl_data(watch, start, end)
elif category == "evm":
return evm_data(watch, start, end)
else:
return {
'evm': evm_data(watch, start, end),
'lvgl': lvgl_data(watch, start, end),
'image': image_data(watch, start, end)
}
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.monitorEvm import MonitorEvmModel from models.monitorEvm import MonitorEvmModel
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class MonitorEvmResource(object): class MonitorEvmResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class MonitorEvmResource(object): ...@@ -13,8 +16,8 @@ class MonitorEvmResource(object):
filters = [MonitorEvmModel.is_delete==False, MonitorEvmModel.uuid==uuid] filters = [MonitorEvmModel.is_delete==False, MonitorEvmModel.uuid==uuid]
result = MonitorEvmModel.query.filter(*filters).first() result = MonitorEvmModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class MonitorEvmResource(object): ...@@ -22,7 +25,9 @@ class MonitorEvmResource(object):
filters = [MonitorEvmModel.is_delete==False] filters = [MonitorEvmModel.is_delete==False]
result = MonitorEvmModel.query.filter(*filters).order_by(MonitorEvmModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = MonitorEvmModel.query.filter(*filters).order_by(MonitorEvmModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class MonitorEvmResource(object): ...@@ -32,20 +37,20 @@ class MonitorEvmResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = MonitorEvmModel(**params) result = MonitorEvmModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = MonitorEvmModel.query.filter(MonitorEvmModel.uuid==uuid).first() result = MonitorEvmModel.query.filter(MonitorEvmModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class MonitorEvmResource(object): ...@@ -53,21 +58,21 @@ class MonitorEvmResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = MonitorEvmModel.query.filter(MonitorEvmModel.uuid==uuid).first() result = MonitorEvmModel.query.filter(MonitorEvmModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
monitorEvmManager = MonitorEvmResource() monitorEvmManager = MonitorEvmResource()
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.monitorImage import MonitorImageModel from models.monitorImage import MonitorImageModel
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class MonitorImageResource(object): class MonitorImageResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class MonitorImageResource(object): ...@@ -13,8 +16,8 @@ class MonitorImageResource(object):
filters = [MonitorImageModel.is_delete==False, MonitorImageModel.uuid==uuid] filters = [MonitorImageModel.is_delete==False, MonitorImageModel.uuid==uuid]
result = MonitorImageModel.query.filter(*filters).first() result = MonitorImageModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class MonitorImageResource(object): ...@@ -22,7 +25,9 @@ class MonitorImageResource(object):
filters = [MonitorImageModel.is_delete==False] filters = [MonitorImageModel.is_delete==False]
result = MonitorImageModel.query.filter(*filters).order_by(MonitorImageModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = MonitorImageModel.query.filter(*filters).order_by(MonitorImageModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class MonitorImageResource(object): ...@@ -32,20 +37,20 @@ class MonitorImageResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = MonitorImageModel(**params) result = MonitorImageModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = MonitorImageModel.query.filter(MonitorImageModel.uuid==uuid).first() result = MonitorImageModel.query.filter(MonitorImageModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class MonitorImageResource(object): ...@@ -53,21 +58,21 @@ class MonitorImageResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = MonitorImageModel.query.filter(MonitorImageModel.uuid==uuid).first() result = MonitorImageModel.query.filter(MonitorImageModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
monitorImageManager = MonitorImageResource() monitorImageManager = MonitorImageResource()
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.monitorLvgl import MonitorLvglModel from models.monitorLvgl import MonitorLvglModel
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class MonitorLvglResource(object): class MonitorLvglResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class MonitorLvglResource(object): ...@@ -13,8 +16,8 @@ class MonitorLvglResource(object):
filters = [MonitorLvglModel.is_delete==False, MonitorLvglModel.uuid==uuid] filters = [MonitorLvglModel.is_delete==False, MonitorLvglModel.uuid==uuid]
result = MonitorLvglModel.query.filter(*filters).first() result = MonitorLvglModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class MonitorLvglResource(object): ...@@ -22,7 +25,9 @@ class MonitorLvglResource(object):
filters = [MonitorLvglModel.is_delete==False] filters = [MonitorLvglModel.is_delete==False]
result = MonitorLvglModel.query.filter(*filters).order_by(MonitorLvglModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = MonitorLvglModel.query.filter(*filters).order_by(MonitorLvglModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class MonitorLvglResource(object): ...@@ -32,20 +37,20 @@ class MonitorLvglResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = MonitorLvglModel(**params) result = MonitorLvglModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = MonitorLvglModel.query.filter(MonitorLvglModel.uuid==uuid).first() result = MonitorLvglModel.query.filter(MonitorLvglModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class MonitorLvglResource(object): ...@@ -53,21 +58,21 @@ class MonitorLvglResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = MonitorLvglModel.query.filter(MonitorLvglModel.uuid==uuid).first() result = MonitorLvglModel.query.filter(MonitorLvglModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
monitorLvglManager = MonitorLvglResource() monitorLvglManager = MonitorLvglResource()
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.monitorSystem import MonitorSystemModel from models.monitorSystem import MonitorSystemModel
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class MonitorSystemResource(object): class MonitorSystemResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class MonitorSystemResource(object): ...@@ -13,8 +16,8 @@ class MonitorSystemResource(object):
filters = [MonitorSystemModel.is_delete==False, MonitorSystemModel.uuid==uuid] filters = [MonitorSystemModel.is_delete==False, MonitorSystemModel.uuid==uuid]
result = MonitorSystemModel.query.filter(*filters).first() result = MonitorSystemModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class MonitorSystemResource(object): ...@@ -22,7 +25,9 @@ class MonitorSystemResource(object):
filters = [MonitorSystemModel.is_delete==False] filters = [MonitorSystemModel.is_delete==False]
result = MonitorSystemModel.query.filter(*filters).order_by(MonitorSystemModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = MonitorSystemModel.query.filter(*filters).order_by(MonitorSystemModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class MonitorSystemResource(object): ...@@ -32,20 +37,20 @@ class MonitorSystemResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = MonitorSystemModel(**params) result = MonitorSystemModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = MonitorSystemModel.query.filter(MonitorSystemModel.uuid==uuid).first() result = MonitorSystemModel.query.filter(MonitorSystemModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class MonitorSystemResource(object): ...@@ -53,21 +58,21 @@ class MonitorSystemResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = MonitorSystemModel.query.filter(MonitorSystemModel.uuid==uuid).first() result = MonitorSystemModel.query.filter(MonitorSystemModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
monitorSystemManager = MonitorSystemResource() monitorSystemManager = MonitorSystemResource()
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.monitorWatch import MonitorWatchModel from models.monitorWatch import MonitorWatchModel
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class MonitorWatchResource(object): class MonitorWatchResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class MonitorWatchResource(object): ...@@ -13,8 +16,8 @@ class MonitorWatchResource(object):
filters = [MonitorWatchModel.is_delete==False, MonitorWatchModel.uuid==uuid] filters = [MonitorWatchModel.is_delete==False, MonitorWatchModel.uuid==uuid]
result = MonitorWatchModel.query.filter(*filters).first() result = MonitorWatchModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class MonitorWatchResource(object): ...@@ -22,7 +25,9 @@ class MonitorWatchResource(object):
filters = [MonitorWatchModel.is_delete==False] filters = [MonitorWatchModel.is_delete==False]
result = MonitorWatchModel.query.filter(*filters).order_by(MonitorWatchModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = MonitorWatchModel.query.filter(*filters).order_by(MonitorWatchModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class MonitorWatchResource(object): ...@@ -32,20 +37,20 @@ class MonitorWatchResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = MonitorWatchModel(**params) result = MonitorWatchModel(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = MonitorWatchModel.query.filter(MonitorWatchModel.uuid==uuid).first() result = MonitorWatchModel.query.filter(MonitorWatchModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class MonitorWatchResource(object): ...@@ -53,21 +58,21 @@ class MonitorWatchResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = MonitorWatchModel.query.filter(MonitorWatchModel.uuid==uuid).first() result = MonitorWatchModel.query.filter(MonitorWatchModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
monitorWatchManager = MonitorWatchResource() monitorWatchManager = MonitorWatchResource()
\ No newline at end of file
'''
Author: your name
Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-12 11:11:49
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\controllers\package.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import os
import re
import shutil
from datetime import datetime
from application.app import db, config
from models.annex import AnnexModel
from models.app import AppModel
from models.user import UserModel
from models.package import PackageModel
from webcreator.utils.epk import EpkApp
from webcreator.log import logger
from webcreator.response import ResponseCode
class PackageResource(object):
def __init__(self):
super().__init__()
def get(self, uuid, params):
# handle business
filters = [PackageModel.is_delete==False, PackageModel.uuid==uuid]
result = PackageModel.query.filter(*filters).first()
if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params):
# handle business
logger.warn(params)
filters = [PackageModel.is_delete==False]
result = PackageModel.query.filter(*filters).order_by(PackageModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
if result:
return result, ResponseCode.HTTP_SUCCESS
user = UserModel.query.filter(id=params.get('user')).onr_or_none()
if not user:
return False, ResponseCode.USER_NOT_EXISTS
temp = {}
if user.role == "administrator":
temp.update({"is_delete": False})
else:
temp.update({ "create_by": user.id, "is_delete": False })
if "scope_type" in params and params.get("scope_type") == "list":
result = PackageModel.query.filter_by(**temp).order_by(PackageModel.create_at.desc())
temp = []
for item in result:
temp.append({ "name": item.app.app_name, "uuid": str(item.uuid) })
return temp, len(temp), "get build_logs {}.".format("success" if temp else "fail")
result = PackageModel.query.filter_by(**temp).order_by(PackageModel.create_at.desc()).paginate(params.get("pagenum", 1), params.get("pagesize", 10), error_out=False)
if result.total and len(result.items):
temp = []
for item in result.items:
t = item.to_dict()
t.update({
"create_at": item.create_at.strftime("%Y-%m-%d %H:%M:%S") if item.create_at else None,
"update_at": item.update_at.strftime("%Y-%m-%d %H:%M:%S") if item.update_at else None,
})
temp.append(t)
return (temp, result.total), ResponseCode.HTTP_SUCCESS
return result, ResponseCode.HTTP_NO_DATA
def post(self, params, jwt={}):
# 判断用户是否存在
user = UserModel.query.filter(UserModel.id==params.get('user'))
if not user:
return False, ResponseCode.USER_NOT_EXISTS
# 判断app是否存在
app = AppModel.query.filter(AppModel.id==params.get("app"))
if not app:
return False, ResponseCode.HTTP_NOT_FOUND
# 根据应用查找有哪些源文件
source_files = AnnexModel.query.filter(AnnexModel.app==app.id).all()
if not source_files:
return None, ResponseCode.HTTP_NO_DATA
dir_format = "{}-{}-{}".format(app.app_name, app.app_version, datetime.now().strftime("%Y%m%d%H%M%S"))
upload_dir = os.sep.join([config.UPLOAD_ROOT_DIR, "uploads", "evueapps"])
target_dir = os.sep.join([upload_dir, user.account, dir_format])
dest_dir = os.sep.join([target_dir, "src"])
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
app_files = []
for sf in source_files:
target_file = os.sep.join([config.UPLOAD_ROOT_DIR, sf.path])
filename = os.path.basename(target_file)
name, suffix = os.path.splitext(filename)
name = re.sub(r"_\d{14}$", "", name)
dst_file = os.path.normpath(os.sep.join([dest_dir, name + suffix]))
shutil.move(os.path.normpath(target_file), dst_file)
app_files.append([sf.id, dst_file])
# 打包成EPK文件
app_info = {}
params = { 'appName': app.app_name, 'appDir': dest_dir, 'appVersion': app.app_version, 'output': target_dir }
if user.role == "administrator" or user.role == "community":
params['algorithm'] = "h"
epk = EpkApp(**params)
app_info = epk.pack()
if app_info:
app_info['md5'] = str(app_info['md5'])
# 更新数据库对应文件路径
# for sf in source_files:
# for af in app_files:
# if sf.id == af[0]:
# t = os.path.normpath(af[1].replace(config.UPLOAD_ROOT_DIR, "")).replace('\\', '/')
# sf.set(path=t)
# db.session.flush()
# db.session.commit()
epk_path = os.sep.join([target_dir.replace(config.UPLOAD_ROOT_DIR, ""), "{}.epk".format(app.app_name)]).replace('\\', '/')
# handle business
# result = PackageModel.query.filter(PackageModel.app == params.get('app')).first()
# if result and result.is_delete:
# result.is_delete = False
# result.update_by = jwt.get("id", "")
# result.update_date = datetime.now()
# db.session.commit()
# return True, ResponseCode.HTTP_SUCCESS
# elif result and result.is_delete == False:
# return False, ResponseCode.HTTP_INVAILD_REQUEST
result = PackageModel(app=app.id, file_path=epk_path, package_info=app_info, app_version=params.get("app_version"), create_by=user.id, create_at=datetime.now(), update_by=user.id, update_at=datetime.now())
db.session.add(result)
db.session.commit()
return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}):
# handle business
result = PackageModel.query.filter(PackageModel.uuid==uuid).first()
if not result:
return None, ResponseCode.HTTP_NOT_FOUND
if params:
for key, value in params.items():
if value != None: setattr(result, key, value)
result.update_by = jwt.get("id", "")
result.update_date = datetime.now()
db.session.commit()
return True, ResponseCode.HTTP_SUCCESS
else:
return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}):
# handle business
result = PackageModel.query.filter(PackageModel.uuid==uuid).first()
if not result:
return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "")
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
return True, ResponseCode.HTTP_SUCCESS
packageManager = PackageResource()
\ No newline at end of file
'''
Author: your name
Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-15 10:39:52
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\controllers\package.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import os
import re
import shutil
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db, config
from models.annex import AnnexModel
from models.app import AppModel
from models.user import UserModel
from models.package import PackageModel from models.package import PackageModel
from webcreator.utils.epk import EpkApp
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class PackageResource(object): class PackageResource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +31,8 @@ class PackageResource(object): ...@@ -13,8 +31,8 @@ class PackageResource(object):
filters = [PackageModel.is_delete==False, PackageModel.uuid==uuid] filters = [PackageModel.is_delete==False, PackageModel.uuid==uuid]
result = PackageModel.query.filter(*filters).first() result = PackageModel.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,30 +40,113 @@ class PackageResource(object): ...@@ -22,30 +40,113 @@ class PackageResource(object):
filters = [PackageModel.is_delete==False] filters = [PackageModel.is_delete==False]
result = PackageModel.query.filter(*filters).order_by(PackageModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = PackageModel.query.filter(*filters).order_by(PackageModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
user = UserModel.query.filter(id=params.get('user')).onr_or_none()
if not user:
return False, ResponseCode.USER_NOT_EXISTS
temp = {}
if user.role == "administrator":
temp.update({"is_delete": False})
else:
temp.update({ "create_by": user.id, "is_delete": False })
if "scope_type" in params and params.get("scope_type") == "list":
result = PackageModel.query.filter_by(**temp).order_by(PackageModel.create_at.desc())
temp = []
for item in result:
temp.append({ "name": item.app.app_name, "uuid": str(item.uuid) })
return temp, len(temp), "get build_logs {}.".format("success" if temp else "fail")
result = PackageModel.query.filter_by(**temp).order_by(PackageModel.create_at.desc()).paginate(params.get("pagenum", 1), params.get("pagesize", 10), error_out=False)
if result.total and len(result.items):
temp = []
for item in result.items:
t = item.to_dict()
t.update({
"create_at": item.create_at.strftime("%Y-%m-%d %H:%M:%S") if item.create_at else None,
"update_at": item.update_at.strftime("%Y-%m-%d %H:%M:%S") if item.update_at else None,
})
temp.append(t)
return (temp, result.total), ResponseCode.HTTP_SUCCESS
return result, ResponseCode.HTTP_NO_DATA
def post(self, params, jwt={}): def post(self, params, jwt={}):
# 判断用户是否存在
user = UserModel.query.filter(UserModel.id==params.get('user'))
if not user:
return False, ResponseCode.USER_NOT_EXISTS
# 判断app是否存在
app = AppModel.query.filter(AppModel.id==params.get("app"))
if not app:
return False, ResponseCode.HTTP_NOT_FOUND
# 根据应用查找有哪些源文件
source_files = AnnexModel.query.filter(AnnexModel.app==app.id).all()
if not source_files:
return None, ResponseCode.HTTP_NO_DATA
dir_format = "{}-{}-{}".format(app.app_name, app.app_version, datetime.now().strftime("%Y%m%d%H%M%S"))
upload_dir = os.sep.join([config.UPLOAD_ROOT_DIR, "uploads", "evueapps"])
target_dir = os.sep.join([upload_dir, user.account, dir_format])
dest_dir = os.sep.join([target_dir, "src"])
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
app_files = []
for sf in source_files:
target_file = os.sep.join([config.UPLOAD_ROOT_DIR, sf.path])
filename = os.path.basename(target_file)
name, suffix = os.path.splitext(filename)
name = re.sub(r"_\d{14}$", "", name)
dst_file = os.path.normpath(os.sep.join([dest_dir, name + suffix]))
shutil.move(os.path.normpath(target_file), dst_file)
app_files.append([sf.id, dst_file])
# 打包成EPK文件
app_info = {}
params = { 'appName': app.app_name, 'appDir': dest_dir, 'appVersion': app.app_version, 'output': target_dir }
if user.role == "administrator" or user.role == "community":
params['algorithm'] = "h"
epk = EpkApp(**params)
app_info = epk.pack()
if app_info:
app_info['md5'] = str(app_info['md5'])
# 更新数据库对应文件路径
# for sf in source_files:
# for af in app_files:
# if sf.id == af[0]:
# t = os.path.normpath(af[1].replace(config.UPLOAD_ROOT_DIR, "")).replace('\\', '/')
# sf.set(path=t)
# db.session.flush()
# db.session.commit()
epk_path = os.sep.join([target_dir.replace(config.UPLOAD_ROOT_DIR, ""), "{}.epk".format(app.app_name)]).replace('\\', '/')
# handle business # handle business
result = PackageModel.query.filter(PackageModel.app == params.get('app')).first() # result = PackageModel.query.filter(PackageModel.app == params.get('app')).first()
if result and result.is_delete: # if result and result.is_delete:
result.is_delete = False # result.is_delete = False
result.update_by = jwt.get("id", "") # result.update_by = jwt.get("id", "")
result.update_date = datetime.now() # result.update_date = datetime.now()
db.session.commit() # db.session.commit()
return (True, None) # return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: # elif result and result.is_delete == False:
return (False, "record code exists") # return False, ResponseCode.HTTP_INVAILD_REQUEST
result = PackageModel(**params) result = PackageModel(app=app.id, file_path=epk_path, package_info=app_info, app_version=params.get("app_version"), create_by=user.id, create_at=datetime.now(), update_by=user.id, update_at=datetime.now())
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = PackageModel.query.filter(PackageModel.uuid==uuid).first() result = PackageModel.query.filter(PackageModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +154,21 @@ class PackageResource(object): ...@@ -53,21 +154,21 @@ class PackageResource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = PackageModel.query.filter(PackageModel.uuid==uuid).first() result = PackageModel.query.filter(PackageModel.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
packageManager = PackageResource() packageManager = PackageResource()
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import os
import json
import traceback
import tempfile
import base64
from hashlib import md5
from application.config import config
from webcreator.log import logger
# 判断目录是否存在,不存在则创建
# if not os.path.exists(os.path.join(config.UPLOAD_ROOT_DIR, config.get("UPLOAD_DIR"))):
# os.makedirs(os.path.join(config.UPLOAD_ROOT_DIR, config.get("UPLOAD_DIR")))
def checkAccess(path):
realpath = os.path.realpath(path)
if not realpath.startswith(config.UPLOAD_ROOT_DIR):
return False
return True
def checkPath(path):
if not path:
return False, {"code": -1, "data": None, "message": "[%s] arg missed!" % path}
fpath = os.path.abspath(os.sep.join(
[os.path.abspath(config.UPLOAD_ROOT_DIR), path]))
if not checkAccess(fpath):
return False, {"code": -1, "data": None, "message": "You have no access to [%s]!" % fpath}
if not os.path.exists(fpath):
return False, {"code": -1, "data": None, "message": "[%s] is not existed!" % fpath}
return True, os.path.abspath(fpath)
def saveToFile(saveFile, content):
try:
tfn = tempfile.mktemp()
tf = open(tfn, 'w+b')
tf.write(content)
tf.close()
os.rename(tfn, saveFile)
return True
except Exception as e:
traceback.print_exc()
logger.error(str(e))
return False
def getFileInfo(infofile):
info = dict()
info.update({
"isfile": os.path.isfile(infofile),
"isdir": os.path.isdir(infofile),
"size": os.path.getsize(infofile),
"atime": os.path.getatime(infofile),
"mtime": os.path.getmtime(infofile),
"ctime": os.path.getctime(infofile),
"name": os.path.basename(infofile)
})
return info
class UploadResource(object):
def __init__(self):
super(UploadResource, self).__init__()
def download(self, data):
obj = json.loads(data)
isAccessed, path = checkPath(obj["path"])
if not isAccessed:
return {"code": -1, "data": None, "message": "invaild access"}
if not os.path.isfile(path):
return {"code": -1, "data": None, "message": "Path [%s] is not a valid file!" % path}
try:
with open(path, "rb") as f:
content = base64.b64encode(f.read())
md5code = md5(content).hexdigest()
return {
"data": {
"content": content,
"md5": md5code,
"filename": os.path.basename(path)
},
"code": 0,
"message": "download file [%s] successfully!" % obj['path']
}
except Exception as e:
traceback.print_exc()
logger.error(str(e))
return {
"data": None,
"code": -1,
"message": "upload file [%s] failed!\n %s" % (obj['path'], repr(e))
}
def delete(self, data):
try:
isAccessed, path = checkPath(data["path"])
if not isAccessed:
return {"code": -1, "data": None, "message": "invaild access"}
if os.path.isfile(path):
os.remove(path)
return {"code": 0, "data": None, "message": "delete file [%s] successfully!" % path}
elif os.path.isdir(path):
os.rmdir(path)
return {"code": 0, "data": None, "message": "delete dir [%s] successfully!" % path}
else:
return {"code": 0, "data": None, "message": "Path [%s] is not a valid file or path!" % path}
except Exception as e:
traceback.print_exc()
logger.error(str(e))
return {"code": -1, "data": None, "message": repr(e)}
def dirlist(self, data):
obj = json.loads(data)
isAccessed, path = checkPath(obj["path"])
if not isAccessed:
return {"code": -1, "data": None, "message": "invaild access"}
result = []
for p in os.listdir(path):
result.append(getFileInfo(os.path.join(config.UPLOAD_ROOT_DIR, p)))
return {"code": 0, "result": result, "message": "Get [%s] successfully!" % path}
def filemd5(self, data):
obj = json.loads(data)
isAccessed, path = checkPath(obj["path"])
if not isAccessed:
return {"code": -1, "data": None, "message": "invaild access"}
if not os.path.isfile(path):
return {"code": -1, "data": None, "message": "Path [%s] is not a valid file!" % path}
with open(path, "rb") as f:
filemd5 = md5(f.read()).hexdigest()
return {"code": 0, "result": filemd5, "message": "Get md5 of [%s] successfully!" % path}
def fileinfo(self, data):
obj = json.loads(data)
isAccessed, path = checkPath(obj["path"])
if not isAccessed:
return {"code": -1, "data": None, "message": "invaild access"}
if not os.path.isfile(path):
return {"code": -1, "data": None, "message": "Path [%s] is not a valid file!" % path}
return {"code": 0, "result": getFileInfo(path), "message": "Get md5 of [%s] successfully!" % path}
uploadResource = UploadResource()
''' '''
Author: your name Author: your name
Date: 2021-07-14 18:14:14 Date: 2021-07-15 09:33:39
LastEditTime: 2021-07-14 18:35:57 LastEditTime: 2021-07-15 10:22:20
LastEditors: Please set LastEditors LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\models\annex.py FilePath: \evm-store\tools\build_out\models\annex.20210715101849.py
''' '''
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
...@@ -30,14 +31,14 @@ class AnnexModel(PrimaryModel): ...@@ -30,14 +31,14 @@ class AnnexModel(PrimaryModel):
self.path = path self.path = path
self.size = size self.size = size
self.create_by = create_by self.create_by = create_by
self.update_by = update_by
self.create_at = create_at self.create_at = create_at
self.update_by = update_by
self.update_at = update_at self.update_at = update_at
def __repr__(self): def __repr__(self):
return '<AnnexModel %r>' % (self.app) return '<AnnexModel %r>' % (self.app)
def to_json(self): def to_dict(self):
return { return {
'app': self.app, 'app': self.app,
'title': self.title, 'title': self.title,
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
...@@ -7,19 +8,19 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE ...@@ -7,19 +8,19 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class AreaModel(PrimaryModel): class AreaModel(PrimaryModel):
__tablename__ = 'evm_area' __tablename__ = 'evm_area'
areaCode = db.Column(db.String(20), index = True, nullable = False) areaCode = db.Column(db.String(20), index = True, nullable = False, default = '')
areaName = db.Column(db.String(20), index = True, nullable = False) areaName = db.Column(db.String(20), index = True, nullable = False, default = '')
level = db.Column(db.Integer, nullable = False, default = 1) level = db.Column(db.Integer, nullable = False, default = 1)
cityCode = db.Column(db.Integer, nullable = True) cityCode = db.Column(db.Integer, nullable = True, default = 0)
center = db.Column(db.String(20), index = True, nullable = False) center = db.Column(db.String(20), index = True, nullable = False, default = '')
parentId = db.Column(db.String(20), nullable = True) parentId = db.Column(db.String(20), nullable = True, default = '')
hasChildren = db.Column(db.Boolean, nullable = True) hasChildren = db.Column(db.Boolean, nullable = True, default = False)
# __table_args__ = ( # __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, areaCode, areaName, level, cityCode, center, parentId, hasChildren): def __init__(self, areaCode='', areaName='', level=1, cityCode=0, center='', parentId='', hasChildren=False):
self.areaCode = areaCode self.areaCode = areaCode
self.areaName = areaName self.areaName = areaName
self.level = level self.level = level
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
import uuid import uuid
from datetime import datetime from datetime import datetime
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
...@@ -16,7 +17,7 @@ class DeviceModel(PrimaryModel): ...@@ -16,7 +17,7 @@ class DeviceModel(PrimaryModel):
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, imei, name, type, desc): def __init__(self, imei, name='', type='', desc=''):
self.imei = imei self.imei = imei
self.name = name self.name = name
self.type = type self.type = type
...@@ -25,7 +26,7 @@ class DeviceModel(PrimaryModel): ...@@ -25,7 +26,7 @@ class DeviceModel(PrimaryModel):
def __repr__(self): def __repr__(self):
return '<DeviceModel %r>' % (self.imei) return '<DeviceModel %r>' % (self.imei)
def to_json(self): def to_dict(self):
return { return {
'imei': self.imei, 'imei': self.imei,
'name': self.name, 'name': self.name,
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
from marshmallow import Schema, fields, INCLUDE, EXCLUDE from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class MonitorEvmModel(PrimaryModel): class MonitorEvmModel(PrimaryModel):
__tablename__ = 'evm_monitorEvm' __tablename__ = 'evm_monitor_evm'
watch = db.Column(db.Integer, nullable = False) watch = db.Column(db.Integer, nullable = False)
heap_map_size = db.Column(db.Integer, nullable = True) heap_map_size = db.Column(db.Integer, nullable = True, default = 0)
heap_total_size = db.Column(db.Integer, nullable = False) heap_total_size = db.Column(db.Integer, nullable = False, default = 0)
heap_used_size = db.Column(db.Integer, nullable = True) heap_used_size = db.Column(db.Integer, nullable = True, default = 0)
stack_total_size = db.Column(db.Integer, nullable = True) stack_total_size = db.Column(db.Integer, nullable = True, default = 0)
stack_used_size = db.Column(db.Integer, nullable = False) stack_used_size = db.Column(db.Integer, nullable = False, default = 0)
# __table_args__ = ( # __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, watch, heap_map_size, heap_total_size, heap_used_size, stack_total_size, stack_used_size): def __init__(self, watch, heap_map_size=0, heap_total_size=0, heap_used_size=0, stack_total_size=0, stack_used_size=0):
self.watch = watch self.watch = watch
self.heap_map_size = heap_map_size self.heap_map_size = heap_map_size
self.heap_total_size = heap_total_size self.heap_total_size = heap_total_size
...@@ -29,7 +30,7 @@ class MonitorEvmModel(PrimaryModel): ...@@ -29,7 +30,7 @@ class MonitorEvmModel(PrimaryModel):
def __repr__(self): def __repr__(self):
return '<MonitorEvmModel %r>' % (self.watch) return '<MonitorEvmModel %r>' % (self.watch)
def to_json(self): def to_dict(self):
return { return {
'watch': self.watch, 'watch': self.watch,
'heap_map_size': self.heap_map_size, 'heap_map_size': self.heap_map_size,
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
from marshmallow import Schema, fields, INCLUDE, EXCLUDE from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class MonitorImageModel(PrimaryModel): class MonitorImageModel(PrimaryModel):
__tablename__ = 'evm_monitorImage' __tablename__ = 'evm_monitor_image'
watch = db.Column(db.Integer, nullable = False) watch = db.Column(db.Integer, nullable = False)
length = db.Column(db.Integer, nullable = True) length = db.Column(db.Integer, nullable = True, default = 0)
png_uncompressed_size = db.Column(db.Integer, nullable = False) png_uncompressed_size = db.Column(db.Integer, nullable = False, default = 0)
png_total_count = db.Column(db.Integer, nullable = True) png_total_count = db.Column(db.Integer, nullable = True, default = 0)
png_file_size = db.Column(db.Integer, nullable = True) png_file_size = db.Column(db.Integer, nullable = True, default = 0)
uri = db.Column(db.String(20), index = True, nullable = False, default = '') uri = db.Column(db.String(20), index = True, nullable = False, default = '')
# __table_args__ = ( # __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, watch, length, png_uncompressed_size, png_total_count, png_file_size, uri): def __init__(self, watch, length=0, png_uncompressed_size=0, png_total_count=0, png_file_size=0, uri=''):
self.watch = watch self.watch = watch
self.length = length self.length = length
self.png_uncompressed_size = png_uncompressed_size self.png_uncompressed_size = png_uncompressed_size
...@@ -29,7 +30,7 @@ class MonitorImageModel(PrimaryModel): ...@@ -29,7 +30,7 @@ class MonitorImageModel(PrimaryModel):
def __repr__(self): def __repr__(self):
return '<MonitorImageModel %r>' % (self.watch) return '<MonitorImageModel %r>' % (self.watch)
def to_json(self): def to_dict(self):
return { return {
'watch': self.watch, 'watch': self.watch,
'length': self.length, 'length': self.length,
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
from marshmallow import Schema, fields, INCLUDE, EXCLUDE from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class MonitorLvglModel(PrimaryModel): class MonitorLvglModel(PrimaryModel):
__tablename__ = 'evm_monitorLvgl' __tablename__ = 'evm_monitor_lvgl'
watch = db.Column(db.Integer, nullable = False) watch = db.Column(db.Integer, nullable = False)
total_size = db.Column(db.Integer, nullable = True) total_size = db.Column(db.Integer, nullable = True, default = 0)
free_cnt = db.Column(db.Integer, nullable = False) free_cnt = db.Column(db.Integer, nullable = False, default = 0)
free_size = db.Column(db.Integer, nullable = True) free_size = db.Column(db.Integer, nullable = True, default = 0)
free_biggest_size = db.Column(db.Integer, nullable = False) free_biggest_size = db.Column(db.Integer, nullable = False, default = 0)
used_cnt = db.Column(db.Integer, nullable = False) used_cnt = db.Column(db.Integer, nullable = False, default = 0)
used_pct = db.Column(db.Integer, nullable = False) used_pct = db.Column(db.Integer, nullable = False, default = 0)
frag_pct = db.Column(db.Integer, nullable = False) frag_pct = db.Column(db.Integer, nullable = False, default = 0)
# __table_args__ = ( # __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, watch, total_size, free_cnt, free_size, free_biggest_size, used_cnt, used_pct, frag_pct): def __init__(self, watch, total_size=0, free_cnt=0, free_size=0, free_biggest_size=0, used_cnt=0, used_pct=0, frag_pct=0):
self.watch = watch self.watch = watch
self.total_size = total_size self.total_size = total_size
self.free_cnt = free_cnt self.free_cnt = free_cnt
...@@ -33,7 +34,7 @@ class MonitorLvglModel(PrimaryModel): ...@@ -33,7 +34,7 @@ class MonitorLvglModel(PrimaryModel):
def __repr__(self): def __repr__(self):
return '<MonitorLvglModel %r>' % (self.watch) return '<MonitorLvglModel %r>' % (self.watch)
def to_json(self): def to_dict(self):
return { return {
'watch': self.watch, 'watch': self.watch,
'total_size': self.total_size, 'total_size': self.total_size,
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
from marshmallow import Schema, fields, INCLUDE, EXCLUDE from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class MonitorSystemModel(PrimaryModel): class MonitorSystemModel(PrimaryModel):
__tablename__ = 'evm_monitorSystem' __tablename__ = 'evm_monitor_system'
watch = db.Column(db.Integer, nullable = False) watch = db.Column(db.Integer, nullable = False)
free_size = db.Column(db.Integer, nullable = True) free_size = db.Column(db.Integer, nullable = True, default = 0)
host = db.Column(db.String(20), index = True, nullable = False, default = '') host = db.Column(db.String(20), index = True, nullable = False, default = '')
path = db.Column(db.String(20), index = True, nullable = False, default = '') path = db.Column(db.String(20), index = True, nullable = False, default = '')
protocol = db.Column(db.String(20), index = True, nullable = False, default = '') protocol = db.Column(db.String(20), index = True, nullable = False, default = '')
...@@ -17,7 +18,7 @@ class MonitorSystemModel(PrimaryModel): ...@@ -17,7 +18,7 @@ class MonitorSystemModel(PrimaryModel):
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, watch, free_size, host, path, protocol): def __init__(self, watch, free_size=0, host='', path='', protocol=''):
self.watch = watch self.watch = watch
self.free_size = free_size self.free_size = free_size
self.host = host self.host = host
...@@ -27,7 +28,7 @@ class MonitorSystemModel(PrimaryModel): ...@@ -27,7 +28,7 @@ class MonitorSystemModel(PrimaryModel):
def __repr__(self): def __repr__(self):
return '<MonitorSystemModel %r>' % (self.watch) return '<MonitorSystemModel %r>' % (self.watch)
def to_json(self): def to_dict(self):
return { return {
'watch': self.watch, 'watch': self.watch,
'free_size': self.free_size, 'free_size': self.free_size,
......
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
from marshmallow import Schema, fields, INCLUDE, EXCLUDE from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class MonitorWatchModel(PrimaryModel): class MonitorWatchModel(PrimaryModel):
__tablename__ = 'evm_monitorWatch' __tablename__ = 'evm_monitor_watch'
imei = db.Column(db.String(20), index = True, nullable = False, default = '') imei = db.Column(db.String(20), index = True, nullable = False, default = '')
...@@ -13,13 +14,13 @@ class MonitorWatchModel(PrimaryModel): ...@@ -13,13 +14,13 @@ class MonitorWatchModel(PrimaryModel):
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, imei): def __init__(self, imei=''):
self.imei = imei self.imei = imei
def __repr__(self): def __repr__(self):
return '<MonitorWatchModel %r>' % (self.imei) return '<MonitorWatchModel %r>' % (self.imei)
def to_json(self): def to_dict(self):
return { return {
'imei': self.imei, 'imei': self.imei,
} }
......
'''
Author: your name
Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-12 01:59:31
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\models\package.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma
from .base import PrimaryModel
from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class PackageModel(PrimaryModel):
__tablename__ = 'evm_package'
app = db.Column(db.Integer, nullable = False)
app_version = db.Column(db.String(200), nullable = False)
package_info = db.Column(db.String(20), nullable = False)
file_path = db.Column(db.String(200), nullable = False)
source = db.Column(db.Integer, nullable = False)
user_agent = db.Column(db.String(200), nullable = False)
download_url = db.Column(db.String(200), nullable = False)
ip = db.Column(db.String(128), nullable = False)
geo_location = db.Column(db.String(200), nullable = False)
operator = db.Column(db.String(50), nullable = False)
# __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# )
def __init__(self, app, app_version, package_info, file_path, source="", user_agent="", download_url="", ip="", geo_location="", operator="", create_by=None, create_at=None, update_by=None, update_at=None):
self.app = app
self.app_version = app_version
self.package_info = package_info
self.file_path = file_path
self.source = source
self.user_agent = user_agent
self.download_url = download_url
self.ip = ip
self.geo_location = geo_location
self.operator = operator
self.create_by = create_by
self.create_at = create_at
self.update_by = update_by
self.update_at = update_at
def __repr__(self):
return '<PackageModel %r>' % (self.app)
def to_dict(self):
return {
'app_version': self.app_version,
'package_info': self.package_info,
'file_path': self.file_path,
'source': self.source,
'user_agent': self.user_agent,
'download_url': self.download_url,
'ip': self.ip,
'geo_location': self.geo_location,
'operator': self.operator,
}
class GetListPackageSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
model = PackageModel
page = fields.Integer(required=False)
pageSize = fields.Integer(required=False)
app = ma.auto_field()
app_version = ma.auto_field()
package_info = ma.auto_field()
file_path = ma.auto_field()
source = ma.auto_field()
user_agent = ma.auto_field()
download_url = ma.auto_field()
ip = ma.auto_field()
geo_location = ma.auto_field()
operator = ma.auto_field()
getListPackageSchema = GetListPackageSchema()
getListPackagesSchema = GetListPackageSchema(many=True)
class GetPackageSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
model = PackageModel
app = ma.auto_field()
app_version = ma.auto_field()
package_info = ma.auto_field()
file_path = ma.auto_field()
source = ma.auto_field()
user_agent = ma.auto_field()
download_url = ma.auto_field()
ip = ma.auto_field()
geo_location = ma.auto_field()
operator = ma.auto_field()
getPackageSchema = GetPackageSchema()
''' '''
Author: your name Author: your name
Date: 2021-06-30 18:03:41 Date: 2021-06-30 18:03:41
LastEditTime: 2021-07-14 18:35:01 LastEditTime: 2021-07-15 10:22:39
LastEditors: Please set LastEditors LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\models\package.py FilePath: \evm-store\tools\build_out\models\package.py
''' '''
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
...@@ -30,7 +31,7 @@ class PackageModel(PrimaryModel): ...@@ -30,7 +31,7 @@ class PackageModel(PrimaryModel):
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self, app, app_version, package_info, file_path, source=0, user_agent='', download_url='', ip='127.0.0.1', geo_location='', operator='', create_by=None, create_at=None, update_by=None, update_at=None): def __init__(self, app, app_version, package_info, file_path, source="", user_agent="", download_url="", ip="", geo_location="", operator="", create_by=None, create_at=None, update_by=None, update_at=None):
self.app = app self.app = app
self.app_version = app_version self.app_version = app_version
self.package_info = package_info self.package_info = package_info
...@@ -42,14 +43,14 @@ class PackageModel(PrimaryModel): ...@@ -42,14 +43,14 @@ class PackageModel(PrimaryModel):
self.geo_location = geo_location self.geo_location = geo_location
self.operator = operator self.operator = operator
self.create_by = create_by self.create_by = create_by
self.update_by = update_by
self.create_at = create_at self.create_at = create_at
self.update_by = update_by
self.update_at = update_at self.update_at = update_at
def __repr__(self): def __repr__(self):
return '<PackageModel %r>' % (self.app) return '<PackageModel %r>' % (self.app)
def to_json(self): def to_dict(self):
return { return {
'app_version': self.app_version, 'app_version': self.app_version,
'package_info': self.package_info, 'package_info': self.package_info,
......
{"directories": [{"basename": "evueapps", "dirname": ".", "path": "evueapps", "timestamp": 1618901644, "type": "dir"}], "files": [{"basename": "appjs.c", "dirname": ".", "extension": "c", "filename": "appjs", "path": "appjs.c", "size": 2145, "timestamp": 1625480571, "type": "file"}, {"basename": "result.json", "dirname": ".", "extension": "json", "filename": "result", "path": "result.json", "size": 394, "timestamp": 1624420270, "type": "file"}]}
\ No newline at end of file
''' '''
Author: your name Author: your name
Date: 2021-07-15 03:22:19 Date: 2021-07-15 03:22:19
LastEditTime: 2021-07-15 09:12:48 LastEditTime: 2021-07-15 10:20:28
LastEditors: your name LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\views\__init__.py FilePath: \evm-store\tools\build_out\views\__init__.py
''' '''
......
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,16 +26,16 @@ class AnnexResourceList(Resource): ...@@ -23,16 +26,16 @@ class AnnexResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListAnnexSchema.load(json_payload) data = getListAnnexSchema.load(json_payload)
result = signalManager.actionGetListAnnex.emit(data) result, message = signalManager.actionGetListAnnex.emit(data)
json_dumps = getListAnnexSchema.dump(result) json_dumps = getListAnnexSchema.dump(result)
if result[0]: if result:
json_dumps = getListAnnexsSchema.dump(result[1]) json_dumps = getListAnnexsSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class AnnexResource(Resource): class AnnexResource(Resource):
def __init__(self): def __init__(self):
...@@ -51,14 +54,14 @@ class AnnexResource(Resource): ...@@ -51,14 +54,14 @@ class AnnexResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getAnnexSchema.load(json_payload) data = getAnnexSchema.load(json_payload)
result = signalManager.actionGetAnnex.emit(uuid, data) result, message = signalManager.actionGetAnnex.emit(uuid, data)
if result[0]: if result:
json_dumps = getAnnexSchema.dump(result[1]) json_dumps = getAnnexSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"]) @jwt_required(locations=["headers"])
...@@ -67,10 +70,8 @@ class AnnexResource(Resource): ...@@ -67,10 +70,8 @@ class AnnexResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
# data = deleteAnnexSchema.load(json_payload) # data = deleteAnnexSchema.load(json_payload)
result = signalManager.actionDeleteAnnex.emit(uuid) result, message = signalManager.actionDeleteAnnex.emit(uuid)
if result[0] == True: return response_result(message, data=result)
return response_result(ResponseCode.OK)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request
from flask_restful import Resource
from flask_restful.reqparse import RequestParser
from flask_jwt_extended import ( jwt_required, get_jwt_identity )
from application.signal_manager import signalManager
from models.app import postAppSchema, deleteAppSchema, getListAppSchema, getListAppsSchema, getAppSchema, putAppSchema
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class AppResourceList(Resource):
def __init__(self):
pass
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
def get(self):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
# self.parser.add_argument("pageSize", type=int, location="args", default=15)
# args = self.parser.parse_args()
try:
json_payload = request.json
logger.warn(json_payload)
data = getListAppSchema.load(json_payload)
result, message = signalManager.actionGetListApp.emit(data)
json_dumps = getListAppSchema.dump(result)
if result:
json_dumps = getListAppsSchema.dump(result.items)
logger.warn(json_dumps)
return response_result(message, data=json_dumps, count=result.total)
return response_result(message)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"])
def post(self):
try:
json_payload = request.json
data = postAppSchema.load(json_payload)
result, message = signalManager.actionPostApp.emit(data)
logger.info(result)
logger.warn(message)
return response_result(message)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
class AppResource(Resource):
def __init__(self):
pass
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
@jwt_required(locations=["headers"])
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
# self.parser.add_argument("pageSize", type=int, location="args", default=15)
# args = self.parser.parse_args()
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = getAppSchema.load(json_payload)
result, message = signalManager.actionGetApp.emit(uuid, data)
if result:
json_dumps = getAppSchema.dump(result)
return response_result(message, data=json_dumps)
return response_result(message)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"])
def put(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = putAppSchema.load(json_payload)
result, message = signalManager.actionPutApp.emit(uuid, data)
logger.info(result)
logger.info(message)
return response_result(message, data=result)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"])
def delete(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
# data = deleteAppSchema.load(json_payload)
result, message = signalManager.actionDeleteApp.emit(uuid)
return response_result(message, data=result)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
...@@ -25,29 +25,28 @@ class AppResourceList(Resource): ...@@ -25,29 +25,28 @@ class AppResourceList(Resource):
data = getListAppSchema.load(json_payload) data = getListAppSchema.load(json_payload)
result = signalManager.actionGetListApp.emit(data) result = signalManager.actionGetListApp.emit(data)
json_dumps = getListAppSchema.dump(result) json_dumps = getListAppSchema.dump(result)
if result[0]: if result:
json_dumps = getListAppsSchema.dump(result[1]) json_dumps = getListAppsSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(ResponseCode.HTTP_SUCCESS, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(ResponseCode.HTTP_NOT_FOUND)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"]) @jwt_required(locations=["headers"])
def post(self): def post(self):
try: try:
json_payload = request.json json_payload = request.json
data = postAppSchema.load(json_payload) data = postAppSchema.load(json_payload)
result = signalManager.actionPostApp.emit(data) result, message = signalManager.actionPostApp.emit(data)
if result[0] == False: if result:
# json_dumps = postAppSchema.dump(result) logger.warn(result)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1]) return response_result(ResponseCode.HTTP_SUCCESS, data=result, msg=message)
logger.warn(result) return response_result(ResponseCode.HTTP_NOT_FOUND)
return response_result(ResponseCode.OK)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class AppResource(Resource): class AppResource(Resource):
...@@ -67,14 +66,14 @@ class AppResource(Resource): ...@@ -67,14 +66,14 @@ class AppResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getAppSchema.load(json_payload) data = getAppSchema.load(json_payload)
result = signalManager.actionGetApp.emit(uuid, data) result, message = signalManager.actionGetApp.emit(uuid, data)
if result[0]: if result:
json_dumps = getAppSchema.dump(result[1]) json_dumps = getAppSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(ResponseCode.HTTP_SUCCESS, data=json_dumps, msg=message)
return response_result(ResponseCode.NO_DATA) return response_result(ResponseCode.HTTP_NOT_FOUND)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"]) @jwt_required(locations=["headers"])
...@@ -83,14 +82,13 @@ class AppResource(Resource): ...@@ -83,14 +82,13 @@ class AppResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = putAppSchema.load(json_payload) data = putAppSchema.load(json_payload)
result = signalManager.actionPutApp.emit(uuid, data) result, message = signalManager.actionPutApp.emit(uuid, data)
if result[0] == True: if result:
# json_dumps = putAppSchema.dump(result) return response_result(ResponseCode.HTTP_SUCCESS, data=result, msg=message)
return response_result(ResponseCode.OK) return response_result(ResponseCode.HTTP_NO_CHANGE, msg=message)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"]) @jwt_required(locations=["headers"])
...@@ -99,10 +97,10 @@ class AppResource(Resource): ...@@ -99,10 +97,10 @@ class AppResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
# data = deleteAppSchema.load(json_payload) # data = deleteAppSchema.load(json_payload)
result = signalManager.actionDeleteApp.emit(uuid) result, message = signalManager.actionDeleteApp.emit(uuid)
if result[0] == True: if result:
return response_result(ResponseCode.OK) return response_result(ResponseCode.HTTP_SUCCESS, data=result, msg=message)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1]) return response_result(ResponseCode.HTTP_NOT_FOUND, msg=message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,13 +26,13 @@ class AreaResourceList(Resource): ...@@ -23,13 +26,13 @@ class AreaResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListAreaSchema.load(json_payload) data = getListAreaSchema.load(json_payload)
result = signalManager.actionGetListArea.emit(data) result, message = signalManager.actionGetListArea.emit(data)
json_dumps = getListAreaSchema.dump(result) json_dumps = getListAreaSchema.dump(result)
if result[0]: if result:
json_dumps = getListAreasSchema.dump(result[1]) json_dumps = getListAreasSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.HTTP_SUCCESS, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.HTTP_INVAILD_REQUEST) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
...@@ -39,12 +42,10 @@ class AreaResourceList(Resource): ...@@ -39,12 +42,10 @@ class AreaResourceList(Resource):
try: try:
json_payload = request.json json_payload = request.json
data = postAreaSchema.load(json_payload) data = postAreaSchema.load(json_payload)
result = signalManager.actionPostArea.emit(data) result, message = signalManager.actionPostArea.emit(data)
if result[0] == False: logger.info(result)
# json_dumps = postAreaSchema.dump(result) logger.warn(message)
return response_result(ResponseCode.HTTP_INVAILD_REQUEST, msg=result[1]) return response_result(message)
logger.warn(result)
return response_result(ResponseCode.HTTP_SUCCESS)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
...@@ -67,11 +68,11 @@ class AreaResource(Resource): ...@@ -67,11 +68,11 @@ class AreaResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getAreaSchema.load(json_payload) data = getAreaSchema.load(json_payload)
result = signalManager.actionGetArea.emit(uuid, data) result, message = signalManager.actionGetArea.emit(uuid, data)
if result[0]: if result:
json_dumps = getAreaSchema.dump(result[1]) json_dumps = getAreaSchema.dump(result)
return response_result(ResponseCode.HTTP_SUCCESS, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.HTTP_NOT_FOUND) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
...@@ -83,11 +84,10 @@ class AreaResource(Resource): ...@@ -83,11 +84,10 @@ class AreaResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = putAreaSchema.load(json_payload) data = putAreaSchema.load(json_payload)
result = signalManager.actionPutArea.emit(uuid, data) result, message = signalManager.actionPutArea.emit(uuid, data)
if result[0] == True: logger.info(result)
# json_dumps = putAreaSchema.dump(result) logger.info(message)
return response_result(ResponseCode.HTTP_SUCCESS) return response_result(message, data=result)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
...@@ -99,10 +99,8 @@ class AreaResource(Resource): ...@@ -99,10 +99,8 @@ class AreaResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
# data = deleteAreaSchema.load(json_payload) # data = deleteAreaSchema.load(json_payload)
result = signalManager.actionDeleteArea.emit(uuid) result, message = signalManager.actionDeleteArea.emit(uuid)
if result[0] == True: return response_result(message, data=result)
return response_result(ResponseCode.HTTP_SUCCESS)
return response_result(ResponseCode.HTTP_INVAILD_REQUEST, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,31 +26,29 @@ class DeviceResourceList(Resource): ...@@ -23,31 +26,29 @@ class DeviceResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListDeviceSchema.load(json_payload) data = getListDeviceSchema.load(json_payload)
result = signalManager.actionGetListDevice.emit(data) result, message = signalManager.actionGetListDevice.emit(data)
json_dumps = getListDeviceSchema.dump(result) json_dumps = getListDeviceSchema.dump(result)
if result[0]: if result:
json_dumps = getListDevicesSchema.dump(result[1]) json_dumps = getListDevicesSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"]) @jwt_required(locations=["headers"])
def post(self): def post(self):
try: try:
json_payload = request.json json_payload = request.json
data = postDeviceSchema.load(json_payload) data = postDeviceSchema.load(json_payload)
result = signalManager.actionPostDevice.emit(data) result, message = signalManager.actionPostDevice.emit(data)
if result[0] == False: logger.info(result)
# json_dumps = postDeviceSchema.dump(result) logger.warn(message)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1]) return response_result(message)
logger.warn(result)
return response_result(ResponseCode.OK)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class DeviceResource(Resource): class DeviceResource(Resource):
...@@ -67,14 +68,14 @@ class DeviceResource(Resource): ...@@ -67,14 +68,14 @@ class DeviceResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getDeviceSchema.load(json_payload) data = getDeviceSchema.load(json_payload)
result = signalManager.actionGetDevice.emit(uuid, data) result, message = signalManager.actionGetDevice.emit(uuid, data)
if result[0]: if result:
json_dumps = getDeviceSchema.dump(result[1]) json_dumps = getDeviceSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"]) @jwt_required(locations=["headers"])
...@@ -83,14 +84,13 @@ class DeviceResource(Resource): ...@@ -83,14 +84,13 @@ class DeviceResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = putDeviceSchema.load(json_payload) data = putDeviceSchema.load(json_payload)
result = signalManager.actionPutDevice.emit(uuid, data) result, message = signalManager.actionPutDevice.emit(uuid, data)
if result[0] == True: logger.info(result)
# json_dumps = putDeviceSchema.dump(result) logger.info(message)
return response_result(ResponseCode.OK) return response_result(message, data=result)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
@jwt_required(locations=["headers"]) @jwt_required(locations=["headers"])
...@@ -99,10 +99,8 @@ class DeviceResource(Resource): ...@@ -99,10 +99,8 @@ class DeviceResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
# data = deleteDeviceSchema.load(json_payload) # data = deleteDeviceSchema.load(json_payload)
result = signalManager.actionDeleteDevice.emit(uuid) result, message = signalManager.actionDeleteDevice.emit(uuid)
if result[0] == True: return response_result(message, data=result)
return response_result(ResponseCode.OK)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
This diff is collapsed.
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,16 +26,16 @@ class MonitorEvmResourceList(Resource): ...@@ -23,16 +26,16 @@ class MonitorEvmResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListMonitorEvmSchema.load(json_payload) data = getListMonitorEvmSchema.load(json_payload)
result = signalManager.actionGetListMonitorEvm.emit(data) result, message = signalManager.actionGetListMonitorEvm.emit(data)
json_dumps = getListMonitorEvmSchema.dump(result) json_dumps = getListMonitorEvmSchema.dump(result)
if result[0]: if result:
json_dumps = getListMonitorEvmsSchema.dump(result[1]) json_dumps = getListMonitorEvmsSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class MonitorEvmResource(Resource): class MonitorEvmResource(Resource):
def __init__(self): def __init__(self):
...@@ -51,11 +54,11 @@ class MonitorEvmResource(Resource): ...@@ -51,11 +54,11 @@ class MonitorEvmResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getMonitorEvmSchema.load(json_payload) data = getMonitorEvmSchema.load(json_payload)
result = signalManager.actionGetMonitorEvm.emit(uuid, data) result, message = signalManager.actionGetMonitorEvm.emit(uuid, data)
if result[0]: if result:
json_dumps = getMonitorEvmSchema.dump(result[1]) json_dumps = getMonitorEvmSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,16 +26,16 @@ class MonitorImageResourceList(Resource): ...@@ -23,16 +26,16 @@ class MonitorImageResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListMonitorImageSchema.load(json_payload) data = getListMonitorImageSchema.load(json_payload)
result = signalManager.actionGetListMonitorImage.emit(data) result, message = signalManager.actionGetListMonitorImage.emit(data)
json_dumps = getListMonitorImageSchema.dump(result) json_dumps = getListMonitorImageSchema.dump(result)
if result[0]: if result:
json_dumps = getListMonitorImagesSchema.dump(result[1]) json_dumps = getListMonitorImagesSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class MonitorImageResource(Resource): class MonitorImageResource(Resource):
def __init__(self): def __init__(self):
...@@ -51,11 +54,11 @@ class MonitorImageResource(Resource): ...@@ -51,11 +54,11 @@ class MonitorImageResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getMonitorImageSchema.load(json_payload) data = getMonitorImageSchema.load(json_payload)
result = signalManager.actionGetMonitorImage.emit(uuid, data) result, message = signalManager.actionGetMonitorImage.emit(uuid, data)
if result[0]: if result:
json_dumps = getMonitorImageSchema.dump(result[1]) json_dumps = getMonitorImageSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,16 +26,16 @@ class MonitorLvglResourceList(Resource): ...@@ -23,16 +26,16 @@ class MonitorLvglResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListMonitorLvglSchema.load(json_payload) data = getListMonitorLvglSchema.load(json_payload)
result = signalManager.actionGetListMonitorLvgl.emit(data) result, message = signalManager.actionGetListMonitorLvgl.emit(data)
json_dumps = getListMonitorLvglSchema.dump(result) json_dumps = getListMonitorLvglSchema.dump(result)
if result[0]: if result:
json_dumps = getListMonitorLvglsSchema.dump(result[1]) json_dumps = getListMonitorLvglsSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class MonitorLvglResource(Resource): class MonitorLvglResource(Resource):
def __init__(self): def __init__(self):
...@@ -51,11 +54,11 @@ class MonitorLvglResource(Resource): ...@@ -51,11 +54,11 @@ class MonitorLvglResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getMonitorLvglSchema.load(json_payload) data = getMonitorLvglSchema.load(json_payload)
result = signalManager.actionGetMonitorLvgl.emit(uuid, data) result, message = signalManager.actionGetMonitorLvgl.emit(uuid, data)
if result[0]: if result:
json_dumps = getMonitorLvglSchema.dump(result[1]) json_dumps = getMonitorLvglSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,16 +26,16 @@ class MonitorSystemResourceList(Resource): ...@@ -23,16 +26,16 @@ class MonitorSystemResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListMonitorSystemSchema.load(json_payload) data = getListMonitorSystemSchema.load(json_payload)
result = signalManager.actionGetListMonitorSystem.emit(data) result, message = signalManager.actionGetListMonitorSystem.emit(data)
json_dumps = getListMonitorSystemSchema.dump(result) json_dumps = getListMonitorSystemSchema.dump(result)
if result[0]: if result:
json_dumps = getListMonitorSystemsSchema.dump(result[1]) json_dumps = getListMonitorSystemsSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class MonitorSystemResource(Resource): class MonitorSystemResource(Resource):
def __init__(self): def __init__(self):
...@@ -51,11 +54,11 @@ class MonitorSystemResource(Resource): ...@@ -51,11 +54,11 @@ class MonitorSystemResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getMonitorSystemSchema.load(json_payload) data = getMonitorSystemSchema.load(json_payload)
result = signalManager.actionGetMonitorSystem.emit(uuid, data) result, message = signalManager.actionGetMonitorSystem.emit(uuid, data)
if result[0]: if result:
json_dumps = getMonitorSystemSchema.dump(result[1]) json_dumps = getMonitorSystemSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -23,16 +26,16 @@ class MonitorWatchResourceList(Resource): ...@@ -23,16 +26,16 @@ class MonitorWatchResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getListMonitorWatchSchema.load(json_payload) data = getListMonitorWatchSchema.load(json_payload)
result = signalManager.actionGetListMonitorWatch.emit(data) result, message = signalManager.actionGetListMonitorWatch.emit(data)
json_dumps = getListMonitorWatchSchema.dump(result) json_dumps = getListMonitorWatchSchema.dump(result)
if result[0]: if result:
json_dumps = getListMonitorWatchsSchema.dump(result[1]) json_dumps = getListMonitorWatchsSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
class MonitorWatchResource(Resource): class MonitorWatchResource(Resource):
def __init__(self): def __init__(self):
...@@ -51,11 +54,11 @@ class MonitorWatchResource(Resource): ...@@ -51,11 +54,11 @@ class MonitorWatchResource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = getMonitorWatchSchema.load(json_payload) data = getMonitorWatchSchema.load(json_payload)
result = signalManager.actionGetMonitorWatch.emit(uuid, data) result, message = signalManager.actionGetMonitorWatch.emit(uuid, data)
if result[0]: if result:
json_dumps = getMonitorWatchSchema.dump(result[1]) json_dumps = getMonitorWatchSchema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request
from flask_restful import Resource
from flask_restful.reqparse import RequestParser
from flask_jwt_extended import ( jwt_required, get_jwt_identity )
from application.signal_manager import signalManager
from models.package import getListPackageSchema, getListPackagesSchema, getPackageSchema
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class PackageResourceList(Resource):
def __init__(self):
pass
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
def get(self):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
# self.parser.add_argument("pageSize", type=int, location="args", default=15)
# args = self.parser.parse_args()
try:
json_payload = request.json
logger.warn(json_payload)
data = getListPackageSchema.load(json_payload)
result, message = signalManager.actionGetListPackage.emit(data)
json_dumps = getListPackageSchema.dump(result)
if result:
json_dumps = getListPackagesSchema.dump(result.items)
logger.warn(json_dumps)
return response_result(message, data=json_dumps, count=result.total)
return response_result(message)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
class PackageResource(Resource):
def __init__(self):
pass
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
@jwt_required(locations=["headers"])
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
# self.parser.add_argument("pageSize", type=int, location="args", default=15)
# args = self.parser.parse_args()
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = getPackageSchema.load(json_payload)
result, message = signalManager.actionGetPackage.emit(uuid, data)
if result:
json_dumps = getPackageSchema.dump(result)
return response_result(message, data=json_dumps)
return response_result(message)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
''' '''
Author: your name Author: your name
Date: 2021-06-15 17:40:14 Date: 2021-06-15 17:40:14
LastEditTime: 2021-07-14 18:28:54 LastEditTime: 2021-06-30 17:22:44
LastEditors: Please set LastEditors LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\resources\webcreator\event.py FilePath: \evm-store\tools\resources\webcreator\event.py
......
''' '''
Author: your name Author: your name
Date: 2021-04-22 18:04:15 Date: 2021-04-22 18:04:15
LastEditTime: 2021-07-14 18:28:45 LastEditTime: 2021-07-14 18:38:28
LastEditors: Please set LastEditors LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\resources\webcreator\log.py FilePath: \evm-store\tools\resources\webcreator\log.py
......
...@@ -26,16 +26,9 @@ import string ...@@ -26,16 +26,9 @@ import string
import datetime import datetime
import threading import threading
import decimal import decimal
import urllib
class Klass: from urllib import parse, request
def __init__(self): from urllib.parse import urlparse, urljoin, urlencode
pass
klass = Klass()
def dict2obj(dictionary):
klass.__dict__.update(dictionary)
return klass
class DecimalEncoder(json.JSONEncoder): class DecimalEncoder(json.JSONEncoder):
def default(self, o): def default(self, o):
...@@ -43,19 +36,6 @@ class DecimalEncoder(json.JSONEncoder): ...@@ -43,19 +36,6 @@ class DecimalEncoder(json.JSONEncoder):
return float(o) return float(o)
super(DecimalEncoder, self).default(o) super(DecimalEncoder, self).default(o)
class ObjectDict(dict):
"""Makes a dictionary behave like an object, with attribute-style access.
"""
def __getattr__(self, name):
try:
return self[name]
except KeyError:
raise AttributeError(name)
def __setattr__(self, name, value):
self[name] = value
def ThreadMaker(f): def ThreadMaker(f):
def runner(*args, **argv): def runner(*args, **argv):
t = threading.Thread(target=f, args=args, kwargs=argv) t = threading.Thread(target=f, args=args, kwargs=argv)
...@@ -132,7 +112,7 @@ def secondsToTime(seconds, sep=":"): ...@@ -132,7 +112,7 @@ def secondsToTime(seconds, sep=":"):
return sep.join([str(i) for i in [h, m, s]]) return sep.join([str(i) for i in [h, m, s]])
def md5_salt(s): def md5_encryption(s):
md5 = hashlib.md5("EhuqUkwV".encode("utf-8")) md5 = hashlib.md5("EhuqUkwV".encode("utf-8"))
md5.update(s.encode('utf-8')) md5.update(s.encode('utf-8'))
return md5.hexdigest() return md5.hexdigest()
...@@ -148,6 +128,20 @@ def filter_dict(source: dict, rules_list: list): ...@@ -148,6 +128,20 @@ def filter_dict(source: dict, rules_list: list):
return result return result
def get_location_by_ip(ip):
params = { 'ak': 'aZEAgYG8wKuLd6DS9BmCloGtfnGGkRMn', 'coor': 'bd09ll' }
parameters = urllib.parse.urlencode(params)
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko' }
if ip != '127.0.0.1':
params.update({ 'ip': ip })
parameters = urllib.parse.urlencode(params)
url = 'http://api.map.baidu.com/location/ip'
req = request.Request(url='%s%s%s' % (url, '?', parameters), headers=headers)
ret = request.urlopen(req).read()
jsonData = json.loads(ret)
return jsonData
def sql_filter(sql): def sql_filter(sql):
return re.sub(r"[\"\\/*\'=\-#;<>+%$()!@]", "", sql) return re.sub(r"[\"\\/*\'=\-#;<>+%$()!@]", "", sql)
...@@ -158,12 +152,37 @@ def random_string(length=32): ...@@ -158,12 +152,37 @@ def random_string(length=32):
def get_days_before_datetime(dt, dayAgo): def get_days_before_datetime(dt, dayAgo):
if not isinstance(dt, datetime.datetime): if not isinstance(dt, datetime.datetime):
dt = datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S") dt = datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S")
# 先获得时间数组格式的日期 # 先获得时间数组格式的日期
dayAgo = (dt - datetime.timedelta(days = dayAgo)) dayAgo = (dt - datetime.timedelta(days = dayAgo))
# 转换为其他字符串格式 # 转换为其他字符串格式
return dayAgo.strftime("%Y-%m-%d %H:%M:%S") return dayAgo.strftime("%Y-%m-%d %H:%M:%S")
class Klass:
def __init__(self):
pass
klass = Klass()
def dict2obj(dictionary):
klass.__dict__.update(dictionary)
return klass
class ObjectDict(Dict[str, Any]):
"""Makes a dictionary behave like an object, with attribute-style access."""
def __getattr__(self, name: str) -> Any:
try:
return self[name]
except KeyError:
raise AttributeError(name)
def __setattr__(self, name: str, value: Any) -> None:
self[name] = value
if __name__ == "__main__": if __name__ == "__main__":
d = { 'a': 1, 'b': 2 }
print(dict2obj(d))
print(os.path.abspath(__file__)) print(os.path.abspath(__file__))
print(random_string(7)) print(random_string(7))
\ No newline at end of file
''' '''
Author: your name Author: your name
Date: 2021-06-30 17:43:46 Date: 2021-06-15 17:40:19
LastEditTime: 2021-07-14 18:37:35 LastEditTime: 2021-07-14 18:38:12
LastEditors: Please set LastEditors LastEditors: your name
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\webcreator\webscoket.py FilePath: \evm-store\tools\resources\webcreator\webscoket.py
''' '''
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf_8 -*- # -*- coding: utf_8 -*-
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
"apis": [ "apis": [
{ {
"name": "area", "name": "area",
"enable": false, "enable": true,
"controller": { "controller": {
"className": "Resource" "className": "Resource"
}, },
...@@ -329,7 +329,7 @@ ...@@ -329,7 +329,7 @@
}, },
{ {
"name": "app", "name": "app",
"enable": true, "enable": false,
"controller": { "controller": {
"className": "Resource" "className": "Resource"
}, },
...@@ -556,7 +556,7 @@ ...@@ -556,7 +556,7 @@
}, },
{ {
"name": "package", "name": "package",
"enable": true, "enable": false,
"controller": { "controller": {
"className": "Resource" "className": "Resource"
}, },
......
[2021-07-14 18:14:14,257][ INFO][in gen_code.py -> copyFiles line:107] copy files finished! [2021-07-14 18:14:14,257][ INFO][in gen_code.py -> copyFiles line:107] copy files finished!
[2021-07-15 10:18:49,740][ INFO][in gen_code.py -> copyFiles line:107] copy files finished!
[2021-07-15 10:18:49,941][ ERROR][in gen_code.py -> handleModules line:132] Îļþ£º%s ²»´æÔÚ
...@@ -26,16 +26,9 @@ import string ...@@ -26,16 +26,9 @@ import string
import datetime import datetime
import threading import threading
import decimal import decimal
import urllib
class Klass: from urllib import parse, request
def __init__(self): from urllib.parse import urlparse, urljoin, urlencode
pass
klass = Klass()
def dict2obj(dictionary):
klass.__dict__.update(dictionary)
return klass
class DecimalEncoder(json.JSONEncoder): class DecimalEncoder(json.JSONEncoder):
def default(self, o): def default(self, o):
...@@ -43,19 +36,6 @@ class DecimalEncoder(json.JSONEncoder): ...@@ -43,19 +36,6 @@ class DecimalEncoder(json.JSONEncoder):
return float(o) return float(o)
super(DecimalEncoder, self).default(o) super(DecimalEncoder, self).default(o)
class ObjectDict(dict):
"""Makes a dictionary behave like an object, with attribute-style access.
"""
def __getattr__(self, name):
try:
return self[name]
except KeyError:
raise AttributeError(name)
def __setattr__(self, name, value):
self[name] = value
def ThreadMaker(f): def ThreadMaker(f):
def runner(*args, **argv): def runner(*args, **argv):
t = threading.Thread(target=f, args=args, kwargs=argv) t = threading.Thread(target=f, args=args, kwargs=argv)
...@@ -132,7 +112,7 @@ def secondsToTime(seconds, sep=":"): ...@@ -132,7 +112,7 @@ def secondsToTime(seconds, sep=":"):
return sep.join([str(i) for i in [h, m, s]]) return sep.join([str(i) for i in [h, m, s]])
def md5_salt(s): def md5_encryption(s):
md5 = hashlib.md5("EhuqUkwV".encode("utf-8")) md5 = hashlib.md5("EhuqUkwV".encode("utf-8"))
md5.update(s.encode('utf-8')) md5.update(s.encode('utf-8'))
return md5.hexdigest() return md5.hexdigest()
...@@ -148,6 +128,20 @@ def filter_dict(source: dict, rules_list: list): ...@@ -148,6 +128,20 @@ def filter_dict(source: dict, rules_list: list):
return result return result
def get_location_by_ip(ip):
params = { 'ak': 'aZEAgYG8wKuLd6DS9BmCloGtfnGGkRMn', 'coor': 'bd09ll' }
parameters = urllib.parse.urlencode(params)
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko' }
if ip != '127.0.0.1':
params.update({ 'ip': ip })
parameters = urllib.parse.urlencode(params)
url = 'http://api.map.baidu.com/location/ip'
req = request.Request(url='%s%s%s' % (url, '?', parameters), headers=headers)
ret = request.urlopen(req).read()
jsonData = json.loads(ret)
return jsonData
def sql_filter(sql): def sql_filter(sql):
return re.sub(r"[\"\\/*\'=\-#;<>+%$()!@]", "", sql) return re.sub(r"[\"\\/*\'=\-#;<>+%$()!@]", "", sql)
...@@ -158,12 +152,37 @@ def random_string(length=32): ...@@ -158,12 +152,37 @@ def random_string(length=32):
def get_days_before_datetime(dt, dayAgo): def get_days_before_datetime(dt, dayAgo):
if not isinstance(dt, datetime.datetime): if not isinstance(dt, datetime.datetime):
dt = datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S") dt = datetime.datetime.strptime(dt, "%Y-%m-%d %H:%M:%S")
# 先获得时间数组格式的日期 # 先获得时间数组格式的日期
dayAgo = (dt - datetime.timedelta(days = dayAgo)) dayAgo = (dt - datetime.timedelta(days = dayAgo))
# 转换为其他字符串格式 # 转换为其他字符串格式
return dayAgo.strftime("%Y-%m-%d %H:%M:%S") return dayAgo.strftime("%Y-%m-%d %H:%M:%S")
class Klass:
def __init__(self):
pass
klass = Klass()
def dict2obj(dictionary):
klass.__dict__.update(dictionary)
return klass
class ObjectDict(Dict[str, Any]):
"""Makes a dictionary behave like an object, with attribute-style access."""
def __getattr__(self, name: str) -> Any:
try:
return self[name]
except KeyError:
raise AttributeError(name)
def __setattr__(self, name: str, value: Any) -> None:
self[name] = value
if __name__ == "__main__": if __name__ == "__main__":
d = { 'a': 1, 'b': 2 }
print(dict2obj(d))
print(os.path.abspath(__file__)) print(os.path.abspath(__file__))
print(random_string(7)) print(random_string(7))
\ No newline at end of file
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
import uuid import uuid
from datetime import datetime from datetime import datetime
...@@ -35,4 +36,4 @@ class UuidBaseModel(BaseModel): ...@@ -35,4 +36,4 @@ class UuidBaseModel(BaseModel):
class SortBaseModel(BaseModel): class SortBaseModel(BaseModel):
__abstract__ = True __abstract__ = True
sort = db.Column(db.Integer, default=0) sort = db.Column(db.Integer, default=0)
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from datetime import datetime from datetime import datetime
from application.app import db from application.app import db
from models.{{ config['name'] }} import {{ config['name'] | letterUpper }}Model from models.{{ config['name'] }} import {{ config['name'] | letterUpper }}Model
from webcreator.log import logger from webcreator.log import logger
# from webcreator.response import ResponseCode, response_result from webcreator.response import ResponseCode
class {{ config['name'] | letterUpper }}Resource(object): class {{ config['name'] | letterUpper }}Resource(object):
def __init__(self): def __init__(self):
...@@ -13,8 +16,8 @@ class {{ config['name'] | letterUpper }}Resource(object): ...@@ -13,8 +16,8 @@ class {{ config['name'] | letterUpper }}Resource(object):
filters = [{{ config['name'] | letterUpper }}Model.is_delete==False, {{ config['name'] | letterUpper }}Model.uuid==uuid] filters = [{{ config['name'] | letterUpper }}Model.is_delete==False, {{ config['name'] | letterUpper }}Model.uuid==uuid]
result = {{ config['name'] | letterUpper }}Model.query.filter(*filters).first() result = {{ config['name'] | letterUpper }}Model.query.filter(*filters).first()
if result: if result:
return (True, result) return result, ResponseCode.HTTP_SUCCESS
return (False, result) return None, ResponseCode.HTTP_NOT_FOUND
def getList(self, params): def getList(self, params):
# handle business # handle business
...@@ -22,7 +25,9 @@ class {{ config['name'] | letterUpper }}Resource(object): ...@@ -22,7 +25,9 @@ class {{ config['name'] | letterUpper }}Resource(object):
filters = [{{ config['name'] | letterUpper }}Model.is_delete==False] filters = [{{ config['name'] | letterUpper }}Model.is_delete==False]
result = {{ config['name'] | letterUpper }}Model.query.filter(*filters).order_by({{ config['name'] | letterUpper }}Model.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False) result = {{ config['name'] | letterUpper }}Model.query.filter(*filters).order_by({{ config['name'] | letterUpper }}Model.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total) if result:
return result, ResponseCode.HTTP_SUCCESS
return None, ResponseCode.HTTP_NOT_FOUND
def post(self, params, jwt={}): def post(self, params, jwt={}):
# handle business # handle business
...@@ -32,20 +37,20 @@ class {{ config['name'] | letterUpper }}Resource(object): ...@@ -32,20 +37,20 @@ class {{ config['name'] | letterUpper }}Resource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
elif result and result.is_delete == False: elif result and result.is_delete == False:
return (False, "record code exists") return False, ResponseCode.HTTP_INVAILD_REQUEST
result = {{ config['name'] | letterUpper }}Model(**params) result = {{ config['name'] | letterUpper }}Model(**params)
db.session.add(result) db.session.add(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
def put(self, uuid, params, jwt={}): def put(self, uuid, params, jwt={}):
# handle business # handle business
result = {{ config['name'] | letterUpper }}Model.query.filter({{ config['name'] | letterUpper }}Model.uuid==uuid).first() result = {{ config['name'] | letterUpper }}Model.query.filter({{ config['name'] | letterUpper }}Model.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return None, ResponseCode.HTTP_NOT_FOUND
if params: if params:
for key, value in params.items(): for key, value in params.items():
...@@ -53,21 +58,21 @@ class {{ config['name'] | letterUpper }}Resource(object): ...@@ -53,21 +58,21 @@ class {{ config['name'] | letterUpper }}Resource(object):
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
else: else:
return (False, "params is null") return False, ResponseCode.HTTP_INVAILD_REQUEST
def delete(self, uuid, jwt={}): def delete(self, uuid, jwt={}):
# handle business # handle business
result = {{ config['name'] | letterUpper }}Model.query.filter({{ config['name'] | letterUpper }}Model.uuid==uuid).first() result = {{ config['name'] | letterUpper }}Model.query.filter({{ config['name'] | letterUpper }}Model.uuid==uuid).first()
if not result: if not result:
return (False, "record not exists") return False, ResponseCode.HTTP_NOT_FOUND
result.update_by = jwt.get("id", "") result.update_by = jwt.get("id", "")
result.update_date = datetime.now() result.update_date = datetime.now()
result.is_delete = True result.is_delete = True
db.session.delete(result) db.session.delete(result)
db.session.commit() db.session.commit()
return (True, None) return True, ResponseCode.HTTP_SUCCESS
{{ config["name"] }}Manager = {{ config['name'] | letterUpper }}Resource() {{ config["name"] }}Manager = {{ config['name'] | letterUpper }}Resource()
\ No newline at end of file
# -*- coding: utf-8 -*- #!/usr/bin/env python
# -*- coding: utf_8 -*-
from application.app import db, ma from application.app import db, ma
from .base import PrimaryModel from .base import PrimaryModel
...@@ -7,14 +8,14 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE ...@@ -7,14 +8,14 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE
{%- endif %} {%- endif %}
class {{ config['name'] | letterUpper }}Model(PrimaryModel): class {{ config['name'] | letterUpper }}Model(PrimaryModel):
__tablename__ = '{{ application["tablePrefix"] }}{{ config['name'] }}' __tablename__ = {% if config.get("model").get("tableName", None) != None %}'{{ config.get("model").get("tableName") }}'{% else %}'{{ application["tablePrefix"] }}{{ config['name'] }}'{% endif %}
{% for value in config['model']['fields'] %} {% for value in config['model']['fields'] %}
{%- if value.get('primaryKey', None) %} {%- if value.get('primaryKey', None) %}
{{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}, primary_key = True) {{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}, primary_key = True)
{%- elif value.get('dataType') == "Int" or value.get('dataType') == "Integer" %} {%- elif value.get('dataType') == "Int" or value.get('dataType') == "Integer" %}
{{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}{% if value.get("length", None) %}{% endif %}{% if value.get("index", False) %}, index = True{% endif %}{% if value.get("required", False) %}, nullable = False{% else %}, nullable = True{% endif %}{% if value.get("default", None) %}, default = {{value.get("default")}}{% endif %}) {{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}{% if value.get("length", None) %}{% endif %}{% if value.get("index", False) %}, index = True{% endif %}{% if value.get("required", False) %}, nullable = False{% else %}, nullable = True{% endif %}{% if value.get("default", None) != None %}, default = {{value.get("default")}}{% endif %})
{%- else %} {%- else %}
{{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}{% if value.get("length", None) %}({{value.get("length")}}){% endif %}{% if value.get("index", False) %}, index = True{% endif %}{% if value.get("required", False) %}, nullable = False{% else %}, nullable = True{% endif %}{% if value.get("default", None) %}, default = {{value.get("default")}}{% endif %}) {{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}{% if value.get("length", None) %}({{value.get("length")}}){% endif %}{% if value.get("index", False) %}, index = True{% endif %}{% if value.get("required", False) %}, nullable = False{% else %}, nullable = True{% endif %}{% if value.get("default", None) != None %}, default = {{value.get("default")}}{% endif %})
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
...@@ -22,7 +23,7 @@ class {{ config['name'] | letterUpper }}Model(PrimaryModel): ...@@ -22,7 +23,7 @@ class {{ config['name'] | letterUpper }}Model(PrimaryModel):
# db.Index('idx_xxx', 'xxx', mysql_using='btree'), # db.Index('idx_xxx', 'xxx', mysql_using='btree'),
# ) # )
def __init__(self{% for value in config['model']['fields'] %}, {{ value.get("name") }}{% endfor %}): def __init__(self{% for value in config['model']['fields'] %}, {% if value.get("default", None) != None %}{{ value.get("name") }}={{ value.get("default") }}{% else %}{{ value.get("name") }}{% endif %}{% endfor %}):
{%- for value in config['model']['fields'] %} {%- for value in config['model']['fields'] %}
self.{{ value.get("name") }} = {{ value.get("name") }} self.{{ value.get("name") }} = {{ value.get("name") }}
{%- endfor %} {%- endfor %}
...@@ -30,7 +31,7 @@ class {{ config['name'] | letterUpper }}Model(PrimaryModel): ...@@ -30,7 +31,7 @@ class {{ config['name'] | letterUpper }}Model(PrimaryModel):
def __repr__(self): def __repr__(self):
return '<{{ config['name'] | letterUpper }}Model %r>' % (self.{{ config['model']['fields'][0]["name"] }}) return '<{{ config['name'] | letterUpper }}Model %r>' % (self.{{ config['model']['fields'][0]["name"] }})
def to_json(self): def to_dict(self):
return { return {
{%- for item in config['model']['fields'] %} {%- for item in config['model']['fields'] %}
{%- if item.get("toJson") %} {%- if item.get("toJson") %}
...@@ -48,8 +49,8 @@ class {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(ma.SQLAlch ...@@ -48,8 +49,8 @@ class {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(ma.SQLAlch
{%- if config['model']['foreignKey'] %} {%- if config['model']['foreignKey'] %}
include_fk = {{ config['model']['foreignKey'] }} include_fk = {{ config['model']['foreignKey'] }}
{% endif %} {% endif %}
{# {#
这里需要判断下,如果是数据库表的字段,则使用auto_field(),否则应该使用json配置中的字段信息 这里需要判断下,如果是数据库表的字段,则使用auto_field(),否则应该使用json配置中的字段信息
class BandMembersSchema(Schema): class BandMembersSchema(Schema):
# missing用来指定反序列化时默认缺省值,default用来指定序列化时默认缺省值 # missing用来指定反序列化时默认缺省值,default用来指定序列化时默认缺省值
...@@ -82,4 +83,4 @@ class {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(ma.SQLAlch ...@@ -82,4 +83,4 @@ class {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(ma.SQLAlch
{%- if key == "getList" %} {%- if key == "getList" %}
{{ key }}{{ config['name'] | letterUpper }}sSchema = {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(many=True) {{ key }}{{ config['name'] | letterUpper }}sSchema = {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(many=True)
{%- endif %} {%- endif %}
{% endfor %} {% endfor %}
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from flask import current_app, jsonify, request from flask import current_app, jsonify, request
from flask_restful import Resource from flask_restful import Resource
from flask_restful.reqparse import RequestParser from flask_restful.reqparse import RequestParser
...@@ -30,16 +33,16 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource): ...@@ -30,16 +33,16 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource):
json_payload = request.json json_payload = request.json
logger.warn(json_payload) logger.warn(json_payload)
data = getList{{ config['name'] | letterUpper }}Schema.load(json_payload) data = getList{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionGetList{{ config["name"] | letterUpper }}.emit(data) result, message = signalManager.actionGetList{{ config["name"] | letterUpper }}.emit(data)
json_dumps = getList{{ config['name'] | letterUpper }}Schema.dump(result) json_dumps = getList{{ config['name'] | letterUpper }}Schema.dump(result)
if result[0]: if result:
json_dumps = getList{{ config['name'] | letterUpper }}sSchema.dump(result[1]) json_dumps = getList{{ config['name'] | letterUpper }}sSchema.dump(result.items)
logger.warn(json_dumps) logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2]) return response_result(message, data=json_dumps, count=result.total)
return response_result(ResponseCode.REQUEST_ERROR) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
{%- endif %} {%- endif %}
{%- if config["view"]["post"] %} {%- if config["view"]["post"] %}
...@@ -50,15 +53,13 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource): ...@@ -50,15 +53,13 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource):
try: try:
json_payload = request.json json_payload = request.json
data = post{{ config['name'] | letterUpper }}Schema.load(json_payload) data = post{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionPost{{ config["name"] | letterUpper }}.emit(data) result, message = signalManager.actionPost{{ config["name"] | letterUpper }}.emit(data)
if result[0] == False: logger.info(result)
# json_dumps = post{{ config["name"] | letterUpper }}Schema.dump(result) logger.warn(message)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1]) return response_result(message)
logger.warn(result)
return response_result(ResponseCode.OK)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
{% endif %} {% endif %}
class {{ config['name'] | letterUpper }}Resource(Resource): class {{ config['name'] | letterUpper }}Resource(Resource):
...@@ -81,14 +82,14 @@ class {{ config['name'] | letterUpper }}Resource(Resource): ...@@ -81,14 +82,14 @@ class {{ config['name'] | letterUpper }}Resource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = get{{ config['name'] | letterUpper }}Schema.load(json_payload) data = get{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(uuid, data) result, message = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(uuid, data)
if result[0]: if result:
json_dumps = get{{ config['name'] | letterUpper }}Schema.dump(result[1]) json_dumps = get{{ config['name'] | letterUpper }}Schema.dump(result)
return response_result(ResponseCode.OK, data=json_dumps) return response_result(message, data=json_dumps)
return response_result(ResponseCode.NO_DATA) return response_result(message)
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
{% endif %} {% endif %}
{%- if config["view"]["put"] %} {%- if config["view"]["put"] %}
...@@ -100,14 +101,13 @@ class {{ config['name'] | letterUpper }}Resource(Resource): ...@@ -100,14 +101,13 @@ class {{ config['name'] | letterUpper }}Resource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
data = put{{ config['name'] | letterUpper }}Schema.load(json_payload) data = put{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionPut{{ config["name"] | letterUpper }}.emit(uuid, data) result, message = signalManager.actionPut{{ config["name"] | letterUpper }}.emit(uuid, data)
if result[0] == True: logger.info(result)
# json_dumps = put{{ config['name'] | letterUpper }}Schema.dump(result) logger.info(message)
return response_result(ResponseCode.OK) return response_result(message, data=result)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
{% endif %} {% endif %}
{%- if config["view"]["delete"] %} {%- if config["view"]["delete"] %}
...@@ -119,11 +119,9 @@ class {{ config['name'] | letterUpper }}Resource(Resource): ...@@ -119,11 +119,9 @@ class {{ config['name'] | letterUpper }}Resource(Resource):
json_payload = request.json json_payload = request.json
print("========>", uuid, json_payload) print("========>", uuid, json_payload)
# data = delete{{ config['name'] | letterUpper }}Schema.load(json_payload) # data = delete{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionDelete{{ config["name"] | letterUpper }}.emit(uuid) result, message = signalManager.actionDelete{{ config["name"] | letterUpper }}.emit(uuid)
if result[0] == True: return response_result(message, data=result)
return response_result(ResponseCode.OK)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
except Exception as e: except Exception as e:
current_app.logger.error(e) current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR) return response_result(ResponseCode.HTTP_SERVER_ERROR)
{% endif %} {% endif %}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment