Commit f374ceaa authored by wanli's avatar wanli

update

parent b91944bf
'''
Author: your name
Date: 2021-06-15 17:40:06
LastEditTime: 2021-06-30 18:17:48
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\application\__init__.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import sys
sys.path.append("..")
from controllers import initConnect
initConnect()
\ No newline at end of file
# -*- coding: utf-8 -*-
import sys
import string
import flask_restful
from flask import Flask, abort, jsonify
......@@ -98,15 +99,12 @@ def create_app(config):
# 自定义abort 400 响应数据格式
flask_restful.abort = _custom_abort
# 数据库初始化
<<<<<<< HEAD
db.init_app(app)
=======
# db.app = app
db.init_app(app)
# 创建表
db.create_all()
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# 注册蓝图
sys.path.append("..")
from views import api_v1
app.register_blueprint(api_v1, url_prefix='/api/v1')
# 使用flask原生异常处理程序
......
......@@ -32,24 +32,15 @@ class ProductionConfig(object):
MYSQL_PORT = 3306
MYSQL_USER = 'debian-sys-maint'
MYSQL_PWD = 'XMigC2B2uugnv18y'
<<<<<<< HEAD
SQLALCHEMY_BINDS = "sqlite:////test.db"
SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
SQLALCHEMY_BINDS = {
'app-store': 'sqlite:///../test.db'
}
SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def __init__(self):
super().__init__()
<<<<<<< HEAD
self.SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
self.SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class DevelopConfig(object):
......@@ -77,26 +68,17 @@ class DevelopConfig(object):
MYSQL_PORT = 3306
MYSQL_USER = 'debian-sys-maint'
MYSQL_PWD = 'XMigC2B2uugnv18y'
<<<<<<< HEAD
SQLALCHEMY_BINDS = "sqlite:////test.db"
SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
SQLALCHEMY_BINDS = {
'app-store': 'sqlite:///../test.db'
}
SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_ECHO = False
def __init__(self):
super().__init__()
<<<<<<< HEAD
self.SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
self.SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
if MODE == 'production':
config = ProductionConfig()
......
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from webcreator.event import PySignal
class SignalManager(object):
actionPostArea = PySignal()
actionDeleteArea = PySignal()
actionGetListArea = PySignal()
actionGetArea = PySignal()
actionPutArea = PySignal()
actionPostApp = PySignal()
actionDeleteApp = PySignal()
actionGetListApp = PySignal()
actionGetApp = PySignal()
actionPutApp = PySignal()
actionGetListPackage = PySignal()
actionGetPackage = PySignal()
actionPostUser = PySignal()
actionDeleteUser = PySignal()
actionGetListUser = PySignal()
actionGetUser = PySignal()
actionPutUser = PySignal()
actionPostLogin = PySignal()
actionGetListLogin = PySignal()
actionGetLogin = PySignal()
# file manager api
actionGetFileInit = PySignal()
actionGetFileContent = PySignal()
actionGetFileTree = PySignal()
actionGetFileDisk = PySignal()
actionGetFileDown = PySignal()
actionGetFilePreview = PySignal()
def __init__(self):
super().__init__()
signalManager = SignalManager()
\ No newline at end of file
......@@ -21,12 +21,16 @@ class SignalManager(object):
actionGetListUser = PySignal()
actionGetUser = PySignal()
actionPutUser = PySignal()
<<<<<<< HEAD
=======
actionPostLogin = PySignal()
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
actionGetListLogin = PySignal()
actionGetLogin = PySignal()
# file manager api
actionGetFileInit = PySignal()
actionGetFileContent = PySignal()
actionGetFileTree = PySignal()
actionGetFileDisk = PySignal()
actionGetFileDown = PySignal()
actionGetFilePreview = PySignal()
def __init__(self):
super().__init__()
......
'''
Author: your name
Date: 2021-06-30 17:43:46
LastEditTime: 2021-07-09 13:10:51
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\controllers\__init__.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
<<<<<<< HEAD
from application.app import signalManager
=======
from application.signal_manager import signalManager
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from .area import areaManager
from .app import appManager
from .package import packageManager
from .user import userManager
from .login import loginManager
from .file_manager import fileManager
def initConnect():
signalManager.actionPostArea.connect(areaManager.post)
......@@ -30,13 +35,8 @@ def initConnect():
signalManager.actionGetListUser.connect(userManager.getList)
signalManager.actionGetUser.connect(userManager.get)
signalManager.actionPutUser.connect(userManager.put)
<<<<<<< HEAD
signalManager.actionGetListLogin.connect(loginManager.getList)
signalManager.actionGetLogin.connect(loginManager.get)
initConnect()
=======
signalManager.actionPostLogin.connect(loginManager.post)
signalManager.actionGetListLogin.connect(loginManager.getList)
signalManager.actionGetLogin.connect(loginManager.get)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
signalManager.actionGetFileContent.connect(fileManager.content)
# signalManager.actionGEt
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.app import AppModel
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class AppResource(object):
def __init__(self):
super().__init__()
def get(self, uuid, params):
# handle business
filters = [AppModel.is_delete==False, AppModel.uuid==uuid]
result = AppModel.query.filter(*filters).first()
if result:
return (True, result)
return (False, result)
def getList(self, params):
# handle business
logger.warn(params)
filters = [AppModel.is_delete==False]
result = AppModel.query.filter(*filters).order_by(AppModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total)
def post(self, params, jwt={}):
# handle business
result = AppModel.query.filter(AppModel.app_name == params.get('app_name')).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, None)
elif result and result.is_delete == False:
return (False, "record code exists")
result = AppModel(**params)
db.session.add(result)
db.session.commit()
return (True, None)
def put(self, uuid, params, jwt={}):
# handle business
result = AppModel.query.filter(AppModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
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, None)
else:
return (False, "params is null")
def delete(self, uuid, jwt={}):
# handle business
result = AppModel.query.filter(AppModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
result.update_by = jwt.get("id", "")
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
return (True, None)
appManager = AppResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.app import AppModel
<<<<<<< HEAD
from webcreator.utils import ResponseCode, response_result
=======
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# from webcreator.response import ResponseCode, response_result
class AppResource(object):
def __init__(self):
super().__init__()
<<<<<<< HEAD
def get(self, params):
# handle business
filters = []
result = AppModel.query.filter(*filters).order_by(AppModel.areaId).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return result
def post(self, params, jwt=None):
# handle business
result = AppModel.query.filter(AppModel.areaName == params.get('areaName')).first()
if result and result.is_delete:
result.is_delete = False
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
return response_result(ResponseCode.OK)
elif result and result.is_delete == False:
return response_result(ResponseCode.EXISTS_ERROR)
=======
def get(self, uuid, params):
# handle business
filters = [AppModel.is_delete==False, AppModel.uuid==uuid]
......@@ -59,38 +35,10 @@ class AppResource(object):
return (True, None)
elif result and result.is_delete == False:
return (False, "record code exists")
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
result = AppModel(**params)
db.session.add(result)
db.session.commit()
<<<<<<< HEAD
return response_result(ResponseCode.OK)
def put(self, id, params, jwt=None):
# handle business
result = AppModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA)
if params:
for key, value in params.items():
if value != None: setattr(result, key, value)
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
else:
return response_result(ResponseCode.PARAM_NULL)
def delete(self, id, jwt=None):
# handle business
result = AppModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA_FOUND)
else:
result.update_by = jwt['id']
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
=======
return (True, None)
def put(self, uuid, params, jwt={}):
......@@ -121,6 +69,5 @@ class AppResource(object):
db.session.delete(result)
db.session.commit()
return (True, None)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
appManager = AppResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.area import AreaModel
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class AreaResource(object):
def __init__(self):
super().__init__()
def get(self, uuid, params):
# handle business
filters = [AreaModel.is_delete==False, AreaModel.uuid==uuid]
result = AreaModel.query.filter(*filters).first()
if result:
return (True, result)
return (False, result)
def getList(self, params):
# handle business
logger.warn(params)
filters = [AreaModel.is_delete==False]
result = AreaModel.query.filter(*filters).order_by(AreaModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total)
def post(self, params, jwt={}):
# handle business
result = AreaModel.query.filter(AreaModel.areaCode == params.get('areaCode')).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, None)
elif result and result.is_delete == False:
return (False, "record code exists")
result = AreaModel(**params)
db.session.add(result)
db.session.commit()
return (True, None)
def put(self, uuid, params, jwt={}):
# handle business
result = AreaModel.query.filter(AreaModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
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, None)
else:
return (False, "params is null")
def delete(self, uuid, jwt={}):
# handle business
result = AreaModel.query.filter(AreaModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
result.update_by = jwt.get("id", "")
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
return (True, None)
areaManager = AreaResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.area import AreaModel
<<<<<<< HEAD
from webcreator.utils import ResponseCode, response_result
=======
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# from webcreator.response import ResponseCode, response_result
class AreaResource(object):
def __init__(self):
super().__init__()
<<<<<<< HEAD
def get(self, params):
# handle business
filters = []
result = AreaModel.query.filter(*filters).order_by(AreaModel.areaId).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return result
def post(self, params, jwt=None):
# handle business
result = AreaModel.query.filter(AreaModel.areaName == params.get('areaName')).first()
if result and result.is_delete:
result.is_delete = False
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
return response_result(ResponseCode.OK)
elif result and result.is_delete == False:
return response_result(ResponseCode.EXISTS_ERROR)
=======
def get(self, uuid, params):
# handle business
filters = [AreaModel.is_delete==False, AreaModel.uuid==uuid]
......@@ -59,38 +35,10 @@ class AreaResource(object):
return (True, None)
elif result and result.is_delete == False:
return (False, "record code exists")
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
result = AreaModel(**params)
db.session.add(result)
db.session.commit()
<<<<<<< HEAD
return response_result(ResponseCode.OK)
def put(self, id, params, jwt=None):
# handle business
result = AreaModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA)
if params:
for key, value in params.items():
if value != None: setattr(result, key, value)
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
else:
return response_result(ResponseCode.PARAM_NULL)
def delete(self, id, jwt=None):
# handle business
result = AreaModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA_FOUND)
else:
result.update_by = jwt['id']
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
=======
return (True, None)
def put(self, uuid, params, jwt={}):
......@@ -121,6 +69,5 @@ class AreaResource(object):
db.session.delete(result)
db.session.commit()
return (True, None)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
areaManager = AreaResource()
\ No newline at end of file
'''
Author: your name
Date: 2021-06-21 14:52:24
LastEditTime: 2021-07-08 23:50:12
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\modules\file-manager\main.py
'''
import os
import pprint
import base64
from pathlib import Path
import json
......@@ -171,7 +162,7 @@ class FileManager(object):
"dirname": child.parent.relative_to(rp).as_posix(),
"path": child.relative_to(rp).as_posix(),
"props": {
"hasSubdirectories": True if os.listdir(child.resolve()) else False
"hasSubdirectories": True if child.iterdir() else False
},
"timestamp": int(child.stat().st_mtime),
"type": "dir"
......@@ -181,6 +172,25 @@ class FileManager(object):
return result
def selectDisk(self, disk):
print(disk)
return True
def download(self, disk):
print(disk)
return True
def preview(self, disk, target_file):
# 预览图片
img_stream = None
if not target_file:
target_file = './evue_photo.png'
with open(target_file, 'rb') as img_f:
img_stream = img_f.read()
img_stream = base64.b64encode(img_stream).decode()
print(disk, target_file)
return img_stream
fileManager = FileManager()
if __name__ == "__main__":
......@@ -199,4 +209,7 @@ if __name__ == "__main__":
print(">>>>>>", result)
result = fileManager.tree("uploads", "evueapps/evm")
print("=====>", result)
\ No newline at end of file
print("=====>", result)
result = fileManager.preview("uploads", "evueapps/evm")
print("$$$$$>", result)
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.login import LoginModel
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class LoginResource(object):
def __init__(self):
super().__init__()
def get(self, uuid, params):
# handle business
filters = [LoginModel.is_delete==False, LoginModel.uuid==uuid]
result = LoginModel.query.filter(*filters).first()
if result:
return (True, result)
return (False, result)
def getList(self, params):
# handle business
logger.warn(params)
filters = [LoginModel.is_delete==False]
result = LoginModel.query.filter(*filters).order_by(LoginModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total)
def post(self, params, jwt={}):
# handle business
result = LoginModel.query.filter(LoginModel.user == params.get('user')).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, None)
elif result and result.is_delete == False:
return (False, "record code exists")
result = LoginModel(**params)
db.session.add(result)
db.session.commit()
return (True, None)
def put(self, uuid, params, jwt={}):
# handle business
result = LoginModel.query.filter(LoginModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
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, None)
else:
return (False, "params is null")
def delete(self, uuid, jwt={}):
# handle business
result = LoginModel.query.filter(LoginModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
result.update_by = jwt.get("id", "")
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
return (True, None)
loginManager = LoginResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.login import LoginModel
<<<<<<< HEAD
from webcreator.utils import ResponseCode, response_result
=======
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# from webcreator.response import ResponseCode, response_result
class LoginResource(object):
def __init__(self):
super().__init__()
<<<<<<< HEAD
def get(self, params):
# handle business
filters = []
result = LoginModel.query.filter(*filters).order_by(LoginModel.areaId).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return result
def post(self, params, jwt=None):
# handle business
result = LoginModel.query.filter(LoginModel.areaName == params.get('areaName')).first()
if result and result.is_delete:
result.is_delete = False
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
return response_result(ResponseCode.OK)
elif result and result.is_delete == False:
return response_result(ResponseCode.EXISTS_ERROR)
=======
def get(self, uuid, params):
# handle business
filters = [LoginModel.is_delete==False, LoginModel.uuid==uuid]
......@@ -59,38 +35,10 @@ class LoginResource(object):
return (True, None)
elif result and result.is_delete == False:
return (False, "record code exists")
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
result = LoginModel(**params)
db.session.add(result)
db.session.commit()
<<<<<<< HEAD
return response_result(ResponseCode.OK)
def put(self, id, params, jwt=None):
# handle business
result = LoginModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA)
if params:
for key, value in params.items():
if value != None: setattr(result, key, value)
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
else:
return response_result(ResponseCode.PARAM_NULL)
def delete(self, id, jwt=None):
# handle business
result = LoginModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA_FOUND)
else:
result.update_by = jwt['id']
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
=======
return (True, None)
def put(self, uuid, params, jwt={}):
......@@ -121,6 +69,5 @@ class LoginResource(object):
db.session.delete(result)
db.session.commit()
return (True, None)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
loginManager = LoginResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.package import PackageModel
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
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 (True, result)
return (False, result)
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)
return (True, result.items, result.total)
def post(self, params, jwt={}):
# 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, None)
elif result and result.is_delete == False:
return (False, "record code exists")
result = PackageModel(**params)
db.session.add(result)
db.session.commit()
return (True, None)
def put(self, uuid, params, jwt={}):
# handle business
result = PackageModel.query.filter(PackageModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
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, None)
else:
return (False, "params is null")
def delete(self, uuid, jwt={}):
# handle business
result = PackageModel.query.filter(PackageModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
result.update_by = jwt.get("id", "")
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
return (True, None)
packageManager = PackageResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.package import PackageModel
<<<<<<< HEAD
from webcreator.utils import ResponseCode, response_result
=======
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# from webcreator.response import ResponseCode, response_result
class PackageResource(object):
def __init__(self):
super().__init__()
<<<<<<< HEAD
def get(self, params):
# handle business
filters = []
result = PackageModel.query.filter(*filters).order_by(PackageModel.areaId).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return result
def post(self, params, jwt=None):
# handle business
result = PackageModel.query.filter(PackageModel.areaName == params.get('areaName')).first()
if result and result.is_delete:
result.is_delete = False
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
return response_result(ResponseCode.OK)
elif result and result.is_delete == False:
return response_result(ResponseCode.EXISTS_ERROR)
=======
def get(self, uuid, params):
# handle business
filters = [PackageModel.is_delete==False, PackageModel.uuid==uuid]
......@@ -59,38 +35,10 @@ class PackageResource(object):
return (True, None)
elif result and result.is_delete == False:
return (False, "record code exists")
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
result = PackageModel(**params)
db.session.add(result)
db.session.commit()
<<<<<<< HEAD
return response_result(ResponseCode.OK)
def put(self, id, params, jwt=None):
# handle business
result = PackageModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA)
if params:
for key, value in params.items():
if value != None: setattr(result, key, value)
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
else:
return response_result(ResponseCode.PARAM_NULL)
def delete(self, id, jwt=None):
# handle business
result = PackageModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA_FOUND)
else:
result.update_by = jwt['id']
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
=======
return (True, None)
def put(self, uuid, params, jwt={}):
......@@ -121,6 +69,5 @@ class PackageResource(object):
db.session.delete(result)
db.session.commit()
return (True, None)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
packageManager = PackageResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.user import UserModel
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class UserResource(object):
def __init__(self):
super().__init__()
def get(self, uuid, params):
# handle business
filters = [UserModel.is_delete==False, UserModel.uuid==uuid]
result = UserModel.query.filter(*filters).first()
if result:
return (True, result)
return (False, result)
def getList(self, params):
# handle business
logger.warn(params)
filters = [UserModel.is_delete==False]
result = UserModel.query.filter(*filters).order_by(UserModel.create_at).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return (True, result.items, result.total)
def post(self, params, jwt={}):
# handle business
result = UserModel.query.filter(UserModel.app_name == params.get('app_name')).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, None)
elif result and result.is_delete == False:
return (False, "record code exists")
result = UserModel(**params)
db.session.add(result)
db.session.commit()
return (True, None)
def put(self, uuid, params, jwt={}):
# handle business
result = UserModel.query.filter(UserModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
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, None)
else:
return (False, "params is null")
def delete(self, uuid, jwt={}):
# handle business
result = UserModel.query.filter(UserModel.uuid==uuid).first()
if not result:
return (False, "record not exists")
result.update_by = jwt.get("id", "")
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
return (True, None)
userManager = UserResource()
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.user import UserModel
<<<<<<< HEAD
from webcreator.utils import ResponseCode, response_result
=======
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# from webcreator.response import ResponseCode, response_result
class UserResource(object):
def __init__(self):
super().__init__()
<<<<<<< HEAD
def get(self, params):
# handle business
filters = []
result = UserModel.query.filter(*filters).order_by(UserModel.areaId).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
return result
def post(self, params, jwt=None):
# handle business
result = UserModel.query.filter(UserModel.areaName == params.get('areaName')).first()
if result and result.is_delete:
result.is_delete = False
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
return response_result(ResponseCode.OK)
elif result and result.is_delete == False:
return response_result(ResponseCode.EXISTS_ERROR)
=======
def get(self, uuid, params):
# handle business
filters = [UserModel.is_delete==False, UserModel.uuid==uuid]
......@@ -59,38 +35,10 @@ class UserResource(object):
return (True, None)
elif result and result.is_delete == False:
return (False, "record code exists")
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
result = UserModel(**params)
db.session.add(result)
db.session.commit()
<<<<<<< HEAD
return response_result(ResponseCode.OK)
def put(self, id, params, jwt=None):
# handle business
result = UserModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA)
if params:
for key, value in params.items():
if value != None: setattr(result, key, value)
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
else:
return response_result(ResponseCode.PARAM_NULL)
def delete(self, id, jwt=None):
# handle business
result = UserModel.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA_FOUND)
else:
result.update_by = jwt['id']
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
=======
return (True, None)
def put(self, uuid, params, jwt={}):
......@@ -121,6 +69,5 @@ class UserResource(object):
db.session.delete(result)
db.session.commit()
return (True, None)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
userManager = UserResource()
\ No newline at end of file
This diff is collapsed.
'''
Author: your name
Date: 2021-06-15 17:40:09
LastEditTime: 2021-06-30 18:09:51
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\manager.py
'''
# -*- coding: utf-8 -*-
from gevent import monkey
monkey.patch_all()
import logging
from tornado.wsgi import WSGIContainer
from tornado.web import Application, FallbackHandler
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from flask_script import Manager
from flask_migrate import Migrate
from multiprocessing import cpu_count
from application.app import create_app, db
from application.config import config
......@@ -24,31 +27,11 @@ def run():
To use: python3 manager.py run
"""
# app.logger.setLevel(app.config.get('LOG_LEVEL', logging.INFO))
# service_config = {
# 'bind': app.config.get('BIND', '0.0.0.0:3000'),
# 'workers': app.config.get('WORKERS', cpu_count() * 2 + 1),
# 'worker_class': 'gevent',
# 'worker_connections': app.config.get('WORKER_CONNECTIONS', 10000),
# 'backlog': app.config.get('BACKLOG', 2048),
# 'timeout': app.config.get('TIMEOUT', 60),
# 'loglevel': app.config.get('LOG_LEVEL', 'info'),
# 'pidfile': app.config.get('PID_FILE', 'run.pid'),
# }
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(3000, address='127.0.0.1')
<<<<<<< HEAD
# wsgi_app = WSGIContainer(app)
# application = Application([
# (r'.*', FallbackHandler, dict(fallback=wsgi_app))
# ], **service_config)
# application.listen(3000)
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
http_server.listen(3000, address='127.0.0.1', xheaders=True)
IOLoop.instance().start()
@manager.command
def debug():
"""
......@@ -56,10 +39,6 @@ def debug():
To use: python3 manager.py debug
"""
# app.logger.setLevel(logging.DEBUG)
<<<<<<< HEAD
print("start from here......")
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
app.run(debug=True, port=3000, host='127.0.0.1')
if __name__ == '__main__':
......
'''
Author: your name
Date: 2021-04-22 18:04:10
LastEditTime: 2021-06-30 17:22:15
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\models\__init__.py
'''
# -*- coding: utf-8 -*-
<<<<<<< HEAD
from sqlalchemy import Column, Integer, String
=======
from sqlalchemy import create_engine
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import sessionmaker
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from sqlalchemy.ext.declarative import declared_attr, declarative_base
class BaseModelMixin(object):
......@@ -32,9 +35,6 @@ class MyMixin(object):
# example:
class MyModel(MyMixin, BaseModel):
<<<<<<< HEAD
name = Column(String(1000))
=======
__tablename__ = 'mymodel'
name = Column(String(20))
fullname = Column(String(32))
......@@ -64,4 +64,3 @@ session.commit()
# our_user = session.query(MyModel).filter_by(name='ed').first()
# print(our_user)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
......@@ -7,19 +7,6 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class AppModel(PrimaryModel):
__tablename__ = 'evm_app'
<<<<<<< HEAD
app_name = db.Column(db.String(70), index = True)
app_icon = db.Column(db.String(200))
app_version = db.Column(db.String(20))
category = db.Column(db.Integer)
category_2th = db.Column(db.Integer)
developer = db.Column(db.Integer)
download_url = db.Column(db.String(20))
app_file_size = db.Column(db.Integer)
app_screen_size = db.Column(db.Integer)
app_arch = db.Column(db.String(20))
app_review = db.Column(db.String(100))
=======
app_name = db.Column(db.String(70), index = True, nullable = False)
app_icon = db.Column(db.String(200), nullable = False)
app_version = db.Column(db.String(20), nullable = False)
......@@ -31,7 +18,6 @@ class AppModel(PrimaryModel):
app_screen_size = db.Column(db.Integer, nullable = False)
app_arch = db.Column(db.String(20), nullable = False)
app_review = db.Column(db.String(100), nullable = False)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'),
......@@ -72,11 +58,7 @@ class AppModel(PrimaryModel):
class PostAppSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AppModel
app_name = ma.auto_field()
......@@ -90,19 +72,11 @@ class PostAppSchema(ma.SQLAlchemySchema):
app_review = ma.auto_field()
postAppSchema = PostAppSchema()
<<<<<<< HEAD
postAppsSchema = PostAppSchema(many=True)
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class DeleteAppSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AppModel
......@@ -111,11 +85,7 @@ deleteAppSchema = DeleteAppSchema()
class GetListAppSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AppModel
page = fields.Integer(required=False)
......@@ -127,19 +97,12 @@ class GetListAppSchema(ma.SQLAlchemySchema):
app_arch = ma.auto_field()
getListAppSchema = GetListAppSchema()
<<<<<<< HEAD
=======
getListAppsSchema = GetListAppSchema(many=True)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class GetAppSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AppModel
app_name = ma.auto_field()
......@@ -153,11 +116,7 @@ getAppSchema = GetAppSchema()
class PutAppSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AppModel
app_name = ma.auto_field()
......
......@@ -7,15 +7,6 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class AreaModel(PrimaryModel):
__tablename__ = 'evm_area'
<<<<<<< HEAD
areaCode = db.Column(db.String(20), index = True)
areaName = db.Column(db.String(20), index = True)
level = db.Column(db.Integer, default = 1)
cityCode = db.Column(db.Integer)
center = db.Column(db.String(20), index = True)
parentId = db.Column(db.String(20))
hasChildren = db.Column(db.Boolean)
=======
areaCode = db.Column(db.String(20), index = True, nullable = False)
areaName = db.Column(db.String(20), index = True, nullable = False)
level = db.Column(db.Integer, nullable = False, default = 1)
......@@ -23,7 +14,6 @@ class AreaModel(PrimaryModel):
center = db.Column(db.String(20), index = True, nullable = False)
parentId = db.Column(db.String(20), nullable = True)
hasChildren = db.Column(db.Boolean, nullable = True)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'),
......@@ -56,38 +46,23 @@ class AreaModel(PrimaryModel):
class PostAreaSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AreaModel
areaCode = ma.auto_field()
areaName = ma.auto_field()
level = ma.auto_field()
<<<<<<< HEAD
=======
parentId = ma.auto_field()
hasChildren = ma.auto_field()
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
cityCode = ma.auto_field()
center = ma.auto_field()
postAreaSchema = PostAreaSchema()
<<<<<<< HEAD
postAreasSchema = PostAreaSchema(many=True)
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class DeleteAreaSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AreaModel
......@@ -96,11 +71,7 @@ deleteAreaSchema = DeleteAreaSchema()
class GetListAreaSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AreaModel
page = fields.Integer(required=False)
......@@ -112,19 +83,12 @@ class GetListAreaSchema(ma.SQLAlchemySchema):
field = fields.String(required=False, length=None)
getListAreaSchema = GetListAreaSchema()
<<<<<<< HEAD
=======
getListAreasSchema = GetListAreaSchema(many=True)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class GetAreaSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = AreaModel
areaName = ma.auto_field()
......@@ -138,15 +102,6 @@ getAreaSchema = GetAreaSchema()
class PutAreaSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
model = AreaModel
areaName = ma.auto_field()
level = ma.auto_field()
parentId = ma.auto_field()
hasChildren = ma.auto_field()
=======
unknown = EXCLUDE # 未知字段默认排除
model = AreaModel
......@@ -154,7 +109,6 @@ class PutAreaSchema(ma.SQLAlchemySchema):
level = fields.Integer(required=False)
parentId = fields.String(required=False, length=None)
hasChildren = fields.Boolean(required=False)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
field = fields.String(required=False, length=None)
putAreaSchema = PutAreaSchema()
......@@ -4,12 +4,9 @@ import uuid
from datetime import datetime
from application.app import db
<<<<<<< HEAD
=======
def generate_uuid():
return uuid.uuid1().hex
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class BaseModel(db.Model):
# Flask-SQLAlchemy创建table时,如何声明基类(这个类不会创建表,可以被继承)
# 方法就是把__abstract__这个属性设置为True,这个类为基类,不会被创建为表!
......@@ -24,11 +21,7 @@ class BaseModel(db.Model):
class PrimaryModel(BaseModel):
__abstract__ = True
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
<<<<<<< HEAD
uuid = db.Column(db.String(64), primary_key=True, default=uuid.uuid1)
=======
uuid = db.Column(db.String(64), primary_key=False, default=generate_uuid)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class AutoBaseModel(BaseModel):
__abstract__ = True
......@@ -37,11 +30,7 @@ class AutoBaseModel(BaseModel):
class UuidBaseModel(BaseModel):
__abstract__ = True
<<<<<<< HEAD
id = db.Column(db.String(64), primary_key=True, default=uuid.uuid1)
=======
id = db.Column(db.String(64), primary_key=True, default=generate_uuid)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
sort = db.Column(db.Integer, default=0)
class SortBaseModel(BaseModel):
......
......@@ -7,21 +7,12 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class LoginModel(PrimaryModel):
__tablename__ = 'evm_login'
<<<<<<< HEAD
user = db.Column(db.Integer)
login_at = db.Column(db.String(200))
user_agent = db.Column(db.String(200))
ip = db.Column(db.String(128))
geo_location = db.Column(db.String(200))
operator = db.Column(db.String(50))
=======
user = db.Column(db.Integer, nullable = False)
login_at = db.Column(db.String(200), nullable = False)
user_agent = 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)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'),
......@@ -48,12 +39,6 @@ class LoginModel(PrimaryModel):
}
<<<<<<< HEAD
class GetListLoginSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
# unknown = EXCLUDE # 未知字段默认排除
=======
class PostLoginSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
......@@ -69,7 +54,6 @@ class GetListLoginSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = LoginModel
page = fields.Integer(required=False)
......@@ -82,19 +66,12 @@ class GetListLoginSchema(ma.SQLAlchemySchema):
operator = ma.auto_field()
getListLoginSchema = GetListLoginSchema()
<<<<<<< HEAD
=======
getListLoginsSchema = GetListLoginSchema(many=True)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class GetLoginSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = LoginModel
user = ma.auto_field()
......
......@@ -7,18 +7,6 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class PackageModel(PrimaryModel):
__tablename__ = 'evm_package'
<<<<<<< HEAD
app = db.Column(db.Integer)
app_version = db.Column(db.String(200))
package_info = db.Column(db.String(20))
file_path = db.Column(db.String(200))
source = db.Column(db.Integer)
user_agent = db.Column(db.String(200))
download_url = db.Column(db.String(200))
ip = db.Column(db.String(128))
geo_location = db.Column(db.String(200))
operator = db.Column(db.String(50))
=======
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)
......@@ -29,7 +17,6 @@ class PackageModel(PrimaryModel):
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)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'),
......@@ -67,11 +54,7 @@ class PackageModel(PrimaryModel):
class GetListPackageSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = PackageModel
page = fields.Integer(required=False)
......@@ -88,19 +71,12 @@ class GetListPackageSchema(ma.SQLAlchemySchema):
operator = ma.auto_field()
getListPackageSchema = GetListPackageSchema()
<<<<<<< HEAD
=======
getListPackagesSchema = GetListPackageSchema(many=True)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class GetPackageSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = PackageModel
app = ma.auto_field()
......
......@@ -7,19 +7,6 @@ from marshmallow import Schema, fields, INCLUDE, EXCLUDE
class UserModel(PrimaryModel):
__tablename__ = 'evm_user'
<<<<<<< HEAD
app_name = db.Column(db.String(70), index = True)
app_icon = db.Column(db.String(200))
app_version = db.Column(db.String(20))
category = db.Column(db.Integer)
category_2th = db.Column(db.Integer)
developer = db.Column(db.Integer)
download_url = db.Column(db.String(20))
app_file_size = db.Column(db.Integer)
app_screen_size = db.Column(db.Integer)
app_arch = db.Column(db.String(20))
app_review = db.Column(db.String(100))
=======
app_name = db.Column(db.String(70), index = True, nullable = False)
app_icon = db.Column(db.String(200), nullable = False)
app_version = db.Column(db.String(20), nullable = False)
......@@ -31,7 +18,6 @@ class UserModel(PrimaryModel):
app_screen_size = db.Column(db.Integer, nullable = False)
app_arch = db.Column(db.String(20), nullable = False)
app_review = db.Column(db.String(100), nullable = False)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# __table_args__ = (
# db.Index('idx_xxx', 'xxx', mysql_using='btree'),
......@@ -72,11 +58,7 @@ class UserModel(PrimaryModel):
class PostUserSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = UserModel
app_name = ma.auto_field()
......@@ -90,19 +72,11 @@ class PostUserSchema(ma.SQLAlchemySchema):
app_review = ma.auto_field()
postUserSchema = PostUserSchema()
<<<<<<< HEAD
postUsersSchema = PostUserSchema(many=True)
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class DeleteUserSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = UserModel
......@@ -111,11 +85,7 @@ deleteUserSchema = DeleteUserSchema()
class GetListUserSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = UserModel
page = fields.Integer(required=False)
......@@ -127,19 +97,12 @@ class GetListUserSchema(ma.SQLAlchemySchema):
app_arch = ma.auto_field()
getListUserSchema = GetListUserSchema()
<<<<<<< HEAD
=======
getListUsersSchema = GetListUserSchema(many=True)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class GetUserSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = UserModel
app_name = ma.auto_field()
......@@ -153,11 +116,7 @@ getUserSchema = GetUserSchema()
class PutUserSchema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = UserModel
app_name = ma.auto_field()
......
......@@ -3,12 +3,8 @@ 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
<<<<<<< HEAD
from models.app import postAppSchema,deleteAppSchema,getListAppSchema,getAppSchema,putAppSchema
=======
from models.app import postAppSchema,deleteAppSchema,getListAppSchema,getListAppsSchema,getAppSchema,putAppSchema
from models.app import postAppSchema, deleteAppSchema, getListAppSchema, getListAppsSchema, getAppSchema, putAppSchema
from webcreator.log import logger
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from webcreator.response import ResponseCode, response_result
class AppResourceList(Resource):
......@@ -25,13 +21,6 @@ class AppResourceList(Resource):
try:
json_payload = request.json
<<<<<<< HEAD
print("========>", json_payload)
data = getListAppSchema.load(json_payload)
result = signalManager.actionGetApp.emit(**data)
json_dumps = getListAppSchema.dump(result)
return jsonify(json_dumps), 200
=======
logger.warn(json_payload)
data = getListAppSchema.load(json_payload)
result = signalManager.actionGetListApp.emit(data)
......@@ -41,32 +30,21 @@ class AppResourceList(Resource):
logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
return response_result(ResponseCode.REQUEST_ERROR)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def post(self):
try:
json_payload = request.json
data = postAppSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPostApp.emit(**data)
json_dumps = postAppSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPostApp.emit(data)
if result[0] == False:
# json_dumps = postAppSchema.dump(result)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
logger.warn(result)
return response_result(ResponseCode.OK)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -78,11 +56,7 @@ class AppResource(Resource):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
......@@ -93,69 +67,42 @@ class AppResource(Resource):
json_payload = request.json
print("========>", uuid, json_payload)
data = getAppSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionGetApp.emit(**data)
json_dumps = getAppSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionGetApp.emit(uuid, data)
if result[0]:
json_dumps = getAppSchema.dump(result[1])
return response_result(ResponseCode.OK, data=json_dumps)
return response_result(ResponseCode.NO_DATA)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def put(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = putAppSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPutApp.emit(**data)
json_dumps = putAppSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPutApp.emit(uuid, data)
if result[0] == True:
# json_dumps = putAppSchema.dump(result)
return response_result(ResponseCode.OK)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def delete(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
<<<<<<< HEAD
data = deleteAppSchema.load(json_payload)
result = signalManager.actionDeleteApp.emit(**data)
json_dumps = deleteAppSchema.dump(result)
return jsonify(json_dumps), 200
=======
# data = deleteAppSchema.load(json_payload)
result = signalManager.actionDeleteApp.emit(uuid)
if result[0] == True:
return response_result(ResponseCode.OK)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -3,12 +3,8 @@ 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
<<<<<<< HEAD
from models.area import postAreaSchema,deleteAreaSchema,getListAreaSchema,getAreaSchema,putAreaSchema
=======
from models.area import postAreaSchema,deleteAreaSchema,getListAreaSchema,getListAreasSchema,getAreaSchema,putAreaSchema
from models.area import postAreaSchema, deleteAreaSchema, getListAreaSchema, getListAreasSchema, getAreaSchema, putAreaSchema
from webcreator.log import logger
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from webcreator.response import ResponseCode, response_result
class AreaResourceList(Resource):
......@@ -25,13 +21,6 @@ class AreaResourceList(Resource):
try:
json_payload = request.json
<<<<<<< HEAD
print("========>", json_payload)
data = getListAreaSchema.load(json_payload)
result = signalManager.actionGetArea.emit(**data)
json_dumps = getListAreaSchema.dump(result)
return jsonify(json_dumps), 200
=======
logger.warn(json_payload)
data = getListAreaSchema.load(json_payload)
result = signalManager.actionGetListArea.emit(data)
......@@ -41,32 +30,21 @@ class AreaResourceList(Resource):
logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
return response_result(ResponseCode.REQUEST_ERROR)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def post(self):
try:
json_payload = request.json
data = postAreaSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPostArea.emit(**data)
json_dumps = postAreaSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPostArea.emit(data)
if result[0] == False:
# json_dumps = postAreaSchema.dump(result)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
logger.warn(result)
return response_result(ResponseCode.OK)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -78,11 +56,7 @@ class AreaResource(Resource):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
......@@ -93,69 +67,42 @@ class AreaResource(Resource):
json_payload = request.json
print("========>", uuid, json_payload)
data = getAreaSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionGetArea.emit(**data)
json_dumps = getAreaSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionGetArea.emit(uuid, data)
if result[0]:
json_dumps = getAreaSchema.dump(result[1])
return response_result(ResponseCode.OK, data=json_dumps)
return response_result(ResponseCode.NO_DATA)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def put(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = putAreaSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPutArea.emit(**data)
json_dumps = putAreaSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPutArea.emit(uuid, data)
if result[0] == True:
# json_dumps = putAreaSchema.dump(result)
return response_result(ResponseCode.OK)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def delete(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
<<<<<<< HEAD
data = deleteAreaSchema.load(json_payload)
result = signalManager.actionDeleteArea.emit(**data)
json_dumps = deleteAreaSchema.dump(result)
return jsonify(json_dumps), 200
=======
# data = deleteAreaSchema.load(json_payload)
result = signalManager.actionDeleteArea.emit(uuid)
if result[0] == True:
return response_result(ResponseCode.OK)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
'''
Author: your name
Date: 2021-07-09 12:39:40
LastEditTime: 2021-07-09 12:40:18
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\views\file.py
'''
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.login import postLoginSchema, getListLoginSchema, getListLoginsSchema, getLoginSchema
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class FileResourceList(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 = getListLoginSchema.load(json_payload)
result = signalManager.actionGetListLogin.emit(data)
json_dumps = getListLoginSchema.dump(result)
if result[0]:
json_dumps = getListLoginsSchema.dump(result[1])
logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
return response_result(ResponseCode.REQUEST_ERROR)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
def post(self):
try:
json_payload = request.json
data = postLoginSchema.load(json_payload)
result = signalManager.actionPostLogin.emit(data)
if result[0] == False:
# json_dumps = postLoginSchema.dump(result)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
logger.warn(result)
return response_result(ResponseCode.OK)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
class FileResource(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 = getLoginSchema.load(json_payload)
result = signalManager.actionGetLogin.emit(uuid, data)
if result[0]:
json_dumps = getLoginSchema.dump(result[1])
return response_result(ResponseCode.OK, data=json_dumps)
return response_result(ResponseCode.NO_DATA)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -3,12 +3,8 @@ 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
<<<<<<< HEAD
from models.login import getListLoginSchema,getLoginSchema
=======
from models.login import postLoginSchema,getListLoginSchema,getListLoginsSchema,getLoginSchema
from models.login import postLoginSchema, getListLoginSchema, getListLoginsSchema, getLoginSchema
from webcreator.log import logger
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from webcreator.response import ResponseCode, response_result
class LoginResourceList(Resource):
......@@ -25,13 +21,6 @@ class LoginResourceList(Resource):
try:
json_payload = request.json
<<<<<<< HEAD
print("========>", json_payload)
data = getListLoginSchema.load(json_payload)
result = signalManager.actionGetLogin.emit(**data)
json_dumps = getListLoginSchema.dump(result)
return jsonify(json_dumps), 200
=======
logger.warn(json_payload)
data = getListLoginSchema.load(json_payload)
result = signalManager.actionGetListLogin.emit(data)
......@@ -41,13 +30,10 @@ class LoginResourceList(Resource):
logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
return response_result(ResponseCode.REQUEST_ERROR)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
=======
def post(self):
try:
json_payload = request.json
......@@ -63,18 +49,13 @@ class LoginResourceList(Resource):
return response_result(ResponseCode.DB_ERROR)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class LoginResource(Resource):
def __init__(self):
pass
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
......@@ -85,17 +66,11 @@ class LoginResource(Resource):
json_payload = request.json
print("========>", uuid, json_payload)
data = getLoginSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionGetLogin.emit(**data)
json_dumps = getLoginSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionGetLogin.emit(uuid, data)
if result[0]:
json_dumps = getLoginSchema.dump(result[1])
return response_result(ResponseCode.OK, data=json_dumps)
return response_result(ResponseCode.NO_DATA)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -3,12 +3,8 @@ 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
<<<<<<< HEAD
from models.package import getListPackageSchema,getPackageSchema
=======
from models.package import getListPackageSchema,getListPackagesSchema,getPackageSchema
from models.package import getListPackageSchema, getListPackagesSchema, getPackageSchema
from webcreator.log import logger
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from webcreator.response import ResponseCode, response_result
class PackageResourceList(Resource):
......@@ -25,13 +21,6 @@ class PackageResourceList(Resource):
try:
json_payload = request.json
<<<<<<< HEAD
print("========>", json_payload)
data = getListPackageSchema.load(json_payload)
result = signalManager.actionGetPackage.emit(**data)
json_dumps = getListPackageSchema.dump(result)
return jsonify(json_dumps), 200
=======
logger.warn(json_payload)
data = getListPackageSchema.load(json_payload)
result = signalManager.actionGetListPackage.emit(data)
......@@ -41,7 +30,6 @@ class PackageResourceList(Resource):
logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
return response_result(ResponseCode.REQUEST_ERROR)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -52,11 +40,7 @@ class PackageResource(Resource):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
......@@ -67,17 +51,11 @@ class PackageResource(Resource):
json_payload = request.json
print("========>", uuid, json_payload)
data = getPackageSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionGetPackage.emit(**data)
json_dumps = getPackageSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionGetPackage.emit(uuid, data)
if result[0]:
json_dumps = getPackageSchema.dump(result[1])
return response_result(ResponseCode.OK, data=json_dumps)
return response_result(ResponseCode.NO_DATA)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -3,12 +3,8 @@ 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
<<<<<<< HEAD
from models.user import postUserSchema,deleteUserSchema,getListUserSchema,getUserSchema,putUserSchema
=======
from models.user import postUserSchema,deleteUserSchema,getListUserSchema,getListUsersSchema,getUserSchema,putUserSchema
from models.user import postUserSchema, deleteUserSchema, getListUserSchema, getListUsersSchema, getUserSchema, putUserSchema
from webcreator.log import logger
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from webcreator.response import ResponseCode, response_result
class UserResourceList(Resource):
......@@ -25,13 +21,6 @@ class UserResourceList(Resource):
try:
json_payload = request.json
<<<<<<< HEAD
print("========>", json_payload)
data = getListUserSchema.load(json_payload)
result = signalManager.actionGetUser.emit(**data)
json_dumps = getListUserSchema.dump(result)
return jsonify(json_dumps), 200
=======
logger.warn(json_payload)
data = getListUserSchema.load(json_payload)
result = signalManager.actionGetListUser.emit(data)
......@@ -41,32 +30,21 @@ class UserResourceList(Resource):
logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
return response_result(ResponseCode.REQUEST_ERROR)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def post(self):
try:
json_payload = request.json
data = postUserSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPostUser.emit(**data)
json_dumps = postUserSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPostUser.emit(data)
if result[0] == False:
# json_dumps = postUserSchema.dump(result)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
logger.warn(result)
return response_result(ResponseCode.OK)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -78,11 +56,7 @@ class UserResource(Resource):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser = RequestParser()
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
# self.parser.add_argument("page", type=int, location="args", default=1)
......@@ -93,69 +67,42 @@ class UserResource(Resource):
json_payload = request.json
print("========>", uuid, json_payload)
data = getUserSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionGetUser.emit(**data)
json_dumps = getUserSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionGetUser.emit(uuid, data)
if result[0]:
json_dumps = getUserSchema.dump(result[1])
return response_result(ResponseCode.OK, data=json_dumps)
return response_result(ResponseCode.NO_DATA)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def put(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = putUserSchema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPutUser.emit(**data)
json_dumps = putUserSchema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPutUser.emit(uuid, data)
if result[0] == True:
# json_dumps = putUserSchema.dump(result)
return response_result(ResponseCode.OK)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def delete(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
<<<<<<< HEAD
data = deleteUserSchema.load(json_payload)
result = signalManager.actionDeleteUser.emit(**data)
json_dumps = deleteUserSchema.dump(result)
return jsonify(json_dumps), 200
=======
# data = deleteUserSchema.load(json_payload)
result = signalManager.actionDeleteUser.emit(uuid)
if result[0] == True:
return response_result(ResponseCode.OK)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
'''
Author: your name
Date: 2021-06-15 17:40:14
LastEditTime: 2021-06-30 17:22:44
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\webcreator\event.py
'''
# -*- coding: utf_8 -*-
############################
......@@ -42,7 +50,6 @@ class PySignal(object):
def emit(self, *args, **kwargs):
rets = {}
for handler in self._handlers:
ret = handler(*args, **kwargs)
rets[handler.__name__] = ret
......
'''
Author: your name
Date: 2021-04-22 18:04:15
LastEditTime: 2021-07-09 00:52:08
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\webcreator\log.py
'''
# -*- coding: utf_8 -*-
############################
......@@ -16,23 +24,14 @@ if not os.path.exists(logPath):
fh = RotatingFileHandler("logs/running.log", maxBytes=10 * 1024 * 1024, backupCount=100)
fh.setLevel(logging.DEBUG)
<<<<<<< HEAD
# log write in console
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
# log formatter
formatter = logging.Formatter('[%(asctime)s][%(levelname)7s] [%(filename)15s%(funcName)15s%(lineno)06s] %(message)s')
=======
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('[%(asctime)s][%(levelname)7s][in %(pathname)s -> %(funcName)s line:%(lineno)s] %(message)s')
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger = logging.root
logger.setLevel(logging.INFO)
logger.setLevel(logging.DEBUG)
logger.addHandler(fh)
logger.addHandler(ch)
\ No newline at end of file
......@@ -3,11 +3,6 @@
"name": "evm-store",
"host": "127.0.0.1",
"port": 1000,
<<<<<<< HEAD
"jwtSecret": "",
"tablePrefix": "evm_",
"logLevel": "debug",
=======
"project": {
"inputDirectory": "",
"outputDirectory": ""
......@@ -16,7 +11,6 @@
"tablePrefix": "evm_",
"logLevel": "DEBUG",
"database": "sqlite",
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"mysql": {
"host": "127.0.0.1",
"port": 3306,
......@@ -29,28 +23,19 @@
}
},
"modules": [
<<<<<<< HEAD
{
"file": "modules/user.json",
"enable": false
},
{
"file": "modules/permission.json",
"enable": false
},
{
=======
{
"file": "modules/user.json",
"enable": false
"config": "modules/file-manager.py",
"dependencies": [
"modules/evue_photo.png"
],
"enable": true
},
{
"file": "modules/permission.json",
"config": "modules/permission.json",
"enable": false
},
{
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"file": "modules/menu.json",
"config": "modules/menu.json",
"enable": false
}
],
......@@ -112,11 +97,7 @@
"default": "",
"length": 20,
"index": false,
<<<<<<< HEAD
"required": true,
=======
"required": false,
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"toJson": true
},
{
......@@ -155,8 +136,6 @@
"required": false
},
{
<<<<<<< HEAD
=======
"name": "parentId",
"dataType": "String",
"location": "args",
......@@ -171,7 +150,6 @@
"required": false
},
{
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"name": "cityCode",
"detaType": "String",
"location": "",
......@@ -186,71 +164,6 @@
"required": false
}
]
<<<<<<< HEAD
},
"delete": {
"auth": true,
"path": "/<string:uuid>",
"endpoint": "",
"params": []
},
"getList": {
"auth": false,
"path": "",
"endpoint": "",
"params": [
{
"name": "page",
"dataType": "Integer",
"location": "args",
"default": 1,
"required": false
},
{
"name": "pageSize",
"dataType": "Integer",
"location": "args",
"default": 10,
"required": false
},
{
"name": "areaName",
"dataType": "String",
"location": "args",
"default": null,
"required": false
},
{
"name": "level",
"dataType": "Integer",
"location": "args",
"default": 1,
"required": false
},
{
"name": "parentId",
"dataType": "String",
"location": "args",
"default": "",
"required": false
},
{
"name": "hasChildren",
"dataType": "Boolean",
"location": "args",
"default": false,
"required": false
},
{
"name": "field",
"dataType": "String",
"location": "args",
"default": "",
"required": false
}
]
},
=======
},
"delete": {
"auth": true,
......@@ -314,7 +227,6 @@
}
]
},
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"get": {
"auth": true,
"path": "/<string:uuid>",
......@@ -367,10 +279,7 @@
"dataType": "String",
"location": "args",
"default": "",
<<<<<<< HEAD
=======
"priority": true,
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"required": false
},
{
......@@ -378,10 +287,7 @@
"dataType": "Integer",
"location": "args",
"default": 0,
<<<<<<< HEAD
=======
"priority": true,
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"required": false
},
{
......@@ -389,10 +295,7 @@
"dataType": "String",
"location": "args",
"default": null,
<<<<<<< HEAD
=======
"priority": true,
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"required": false
},
{
......@@ -400,10 +303,7 @@
"dataType": "Boolean",
"location": "args",
"default": false,
<<<<<<< HEAD
=======
"priority": true,
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"required": false
},
{
......@@ -411,10 +311,7 @@
"dataType": "String",
"location": "args",
"default": null,
<<<<<<< HEAD
=======
"priority": true,
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
"required": false
}
]
......@@ -1127,9 +1024,6 @@
"path": "",
"endpoint": "",
"params": [
<<<<<<< HEAD
=======
{
"name": "account",
"dataType": "String",
......@@ -1146,7 +1040,6 @@
"default": null,
"required": true
}
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
]
},
"getList": {
......
......@@ -98,7 +98,6 @@ export default {
* @return {*}
*/
preview(disk, path) {
window.console.log("###############===========>", disk)
return request.get('preview', {
responseType: 'arraybuffer',
params: { disk, path },
......
......@@ -250,7 +250,6 @@ export default {
</script>
<style scope lang="scss">
// https://stackpath.bootstrapcdn.com/bootstrap/scss/mixins/_text-truncate.scss
@import "~bootstrap/scss/mixins";
@import "~bootstrap/scss/functions";
@import "~bootstrap/scss/variables";
......
<<<<<<< HEAD
from fs.copy import copy_fs
from jinja2 import Environment, FileSystemLoader
import json
import os
import re
=======
from fs.copy import copy_fs, copy_file
from jinja2 import Environment, FileSystemLoader
from pprint import pprint
from pathlib import Path
from difflib import Differ, HtmlDiff
import fs
import json
import os
......@@ -14,7 +10,7 @@ import re
import hashlib
import time
import shutil
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from resources.webcreator import log
'''
流程:
......@@ -23,38 +19,6 @@ import shutil
三、自动运行项目
'''
<<<<<<< HEAD
# 将字符串首字母转换成大写字母
def convertFirstLetterUpper(text_str):
# return text_str.capitalize()
# print("////////////////////>>>>", text_str)
return re.sub("([a-zA-Z])", lambda x: x.groups()[0].upper(), text_str, 1)
# ROOT = os.path.abspath(os.getcwd())
jinja_env = Environment(loader=FileSystemLoader(os.path.join(os.getcwd(), 'templates')))
jinja_env.filters['letterUpper'] = convertFirstLetterUpper
input_dir = None
output_dir = None
def copyFiles(src_dir, dst_dir):
copy_fs(src_dir, dst_dir)
def handleResources(config):
# 处理路由页面
# 遍历config文件,收集所有的action和name,action和name的首字母必须大写
# 然后才生成路由配置页面
target_file = os.sep.join(["views", "__init__.py"])
handleRender(config, 'router.tpl', target_file)
def handleSignal(config):
# 生成信号槽模块
target_file = os.sep.join(["application", "signal_manager.py"])
handleRender(config, 'signal_manager.tpl', target_file)
target_file = os.sep.join(["controllers", "__init__.py"])
handleRender(config, 'signal_manager_init.tpl', target_file)
=======
# 比较两个文件内容是否相同,这里没有使用md5内容摘要算法,MD5算法的缺点是,针对大文件,计算耗时。虽然咱们这里不存在大文件,但是条条大路通罗马嘛,试试其他方法也挺好。
def cmp_file(file1, file2):
f1 = os.stat(file1)
......@@ -77,6 +41,16 @@ def cmp_file(file1, file2):
return True
def compare_file(file1, file2):
with open(file1) as f1,open(file2) as f2:
content1 = f1.read().splitlines(keepends=True)
content2 = f2.read().splitlines(keepends=True)
d = Differ()
result = d.compare(content1, content2)
return list(result)
def cmp_md5(contnet1, content2):
m1 = hashlib.md5()
m1.update(bytearray(contnet1, 'utf-8'))
......@@ -98,9 +72,36 @@ jinja_env.filters['letterUpper'] = convertFirstLetterUpper
input_dir = None
output_dir = None
events = []
def copyFiles(src_dir, dst_dir):
copy_fs(src_dir, dst_dir)
def handleModuleConfig(config):
# 处理每一项配置文件
# 入口文件名
# 实例对象,根据这个实例连接对应请求
# 实例方法,需要根据实例方法生成事件函数
'''
'''
pass
def handleModules(config):
global output_dir
# 遍历modules结构,判断文件是否存在,并且enable已经打开
# 如果文件不存在,则直接报错
# 本质上这是一个文件拷贝的操作
for mod in config:
p = Path(mod.get("config"))
if not p.exists() or not mod.get("enable"):
continue
shutil.copyfile(mod.get("config"), os.sep.join([output_dir, "controllers", p.name]))
for d in mod.get("dependencies"):
if Path(d).exists():
shutil.copyfile(d, os.sep.join([output_dir, "controllers", Path(d).name]))
else:
log.logger.error("文件:%s 不存在")
def handleResources(config):
# 处理路由页面
# 遍历config文件,收集所有的action和name,action和name的首字母必须大写
......@@ -116,8 +117,11 @@ def handleSignal(config):
target_file = os.sep.join(["controllers", "__init__.py"])
handleRender(config, 'signal_manager_init.tpl', target_file)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def handleModel(config, application):
# 判断是否有model字段,没有直接退出
if not config.get("model"):
return None
# 将所有有默认值的字段分为一组,没有默认值的字段分为另一组
# 生成模板代码时,无默认值的字段在前,有默认值的字段字在后
# 收集表字段信息
......@@ -127,12 +131,6 @@ def handleModel(config, application):
fields.append(m.get("name"))
extend = True
print(m)
<<<<<<< HEAD
target_file = os.sep.join(["models", "{}.py".format(config.get("name"))])
handleRender(config, 'model.tpl', target_file, fields=fields, extend=extend, application=application)
=======
target_file = os.sep.join(["models", "{}.py".format(config.get("name"))])
handleRender(config, 'model.tpl', target_file, fields=fields, extend=extend, application=application)
......@@ -142,7 +140,6 @@ def handleModel(config, application):
os.remove(target_file)
handleRender(config, 'base.tpl', target_file, application=application)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def handleView(config):
target_file = os.sep.join(["views", "{}.py".format(config.get("name"))])
handleRender(config, 'view.tpl', target_file)
......@@ -158,19 +155,10 @@ def handleRender(result, tpl, target_file, **kwargs):
jinja_tpl = jinja_env.get_template(tpl)
content = jinja_tpl.render({ "config": result, **kwargs })
# print("############", output_dir)
<<<<<<< HEAD
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
target_file = os.sep.join([output_dir, target_file])
if not os.path.exists(os.path.dirname(target_file)):
os.makedirs(os.path.dirname(target_file))
<<<<<<< HEAD
with open(target_file, 'w', encoding='utf-8') as f:
f.write(content)
=======
# 这里需要比较目标文件夹是否已经存在同名文件,如果存在,则需要比较两个文件内容是否一致
# 如果不一致时,则需要给旧的文件打上时间戳,作为备份文件
......@@ -189,10 +177,9 @@ def handleRender(result, tpl, target_file, **kwargs):
with open(target_file, 'w', encoding='utf-8') as f:
f.write(content)
if cmp_file(tmp_file, target_file) == True:
if len(tmp_file) > 0 and cmp_file(tmp_file, target_file) == True:
os.remove(tmp_file)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def parseConfig(config):
# 解析配置文件
for cfg in config.get("apis"):
......@@ -201,6 +188,7 @@ def parseConfig(config):
handleController(cfg)
handleResources(config.get("apis"))
handleSignal(config.get("apis"))
handleModules(config.get("modules"))
def readConfig():
result = {}
......@@ -208,8 +196,6 @@ def readConfig():
result = json.loads(f.read())
return result
<<<<<<< HEAD
=======
# 备份数据库,判断目标文件夹下是否有.db文件,有的话,先备份到临时目录,待文件复制完成后,再放回原来位置
def backup_database():
global output_dir
......@@ -240,24 +226,16 @@ def restore_database():
if home_fs.exists("/"):
os.removedirs(target_dir)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def run():
global input_dir
global output_dir
input_dir = os.sep.join([os.getcwd(), "resources"])
output_dir = os.sep.join([os.getcwd(), "build_out"])
<<<<<<< HEAD
copyFiles(input_dir, output_dir)
config = readConfig()
# print(config)
parseConfig(config)
=======
backup_database()
copyFiles(input_dir, output_dir)
config = readConfig()
parseConfig(config)
restore_database()
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
print("success ......")
if __name__ == "__main__":
......
import pprint
import base64
from pathlib import Path
import json
disk_root = "D:\\projects\\scriptiot\\evm_app_store_files"
class FileManager(object):
def __init__(self) -> None:
pass
'''
@description: 根据前端传递的路径参数,获取该路径的目录以及文件信息,文件类别,可以看做是一个盘符
@param {*} self
@return {*}
'''
def initialize(self):
'''
disks: {
files: {driver: "local"},
images: {driver: "local"}
}
lang: "en"
leftDisk: null
rightDisk: null
windowsConfig: 2
'''
result = {
"disks": {},
"lang": "zh",
"leftDisk": None,
"rightDisk": None,
"windowsConfig": 1
}
# 这里需要过滤,有些目录只能管理员才能查看
p = Path(disk_root)
for child in p.iterdir():
if child.is_dir():
result["disks"].update({
child.name: { "driver": "local" }
})
return result
'''
@description: 获取当前类别的目录信息
@param {*} self
@return {*}
'''
def content(self, disk, target_path='/'):
'''
目录信息结构体:
{
basename: "docs"
dirname: ""
path: "docs"
timestamp: 1556821372
type: "dir"
},
{
basename: "cars"
dirname: "wallpapers"
path: "wallpapers/cars"
timestamp: 1544277291
type: "dir"
}
文件信息结构体:
{
basename: "alfa.sql"
dirname: "code"
extension: "sql"
filename: "alfa"
path: "code/alfa.sql"
size: 3208
timestamp: 1544277274
type: "file"
}
'''
target_path = Path(target_path)
result = {
"directories": [],
"files": []
}
disk_path = Path(disk_root).joinpath(disk)
if not disk_path.exists():
return result
target_path = disk_path.joinpath(target_path)
if not target_path.exists():
return result
for child in target_path.iterdir():
if child.is_dir():
result["directories"].append({
"basename": child.name,
"dirname": child.parent.relative_to(disk_path).as_posix(),
"path": child.resolve().relative_to(disk_path).as_posix(),
"timestamp": int(child.stat().st_mtime),
"type": "dir"
})
else:
result["files"].append({
"basename": child.name,
"dirname": child.parent,
"extension": child.suffix[1:],
"filename": child.stem,
"path": child.resolve().relative_to(disk_path).as_posix(),
"size": child.stat().st_size,
"timestamp": int(child.stat().st_mtime),
"type": "file"
})
with open("result.json", "w") as f:
json.dump(result, f)
f.seek(0)
f.truncate()
f.write(json.dumps(result, ensure_ascii=True))
pprint.pprint(result)
return result
'''
@description: 获取目录结构树
@param {*} self
@return {*}
'''
def tree(self, disk, target_path="/"):
'''
{
basename: "trees"
dirname: "wallpapers/nature"
path: "wallpapers/nature/trees"
props: {
hasSubdirectories: false
}
timestamp: 1544277291
type: "dir"
}
'''
target_path = Path(target_path)
result = []
rp = Path(disk_root)
disk_path = rp / disk
if not disk_path.exists():
return result
temp_path = disk_path.joinpath(target_path)
if not temp_path.exists():
return result
p = Path(disk_path)
for child in p.iterdir():
if child.is_dir():
result.append({
"basename": child.name,
"dirname": child.parent.relative_to(rp).as_posix(),
"path": child.relative_to(rp).as_posix(),
"props": {
"hasSubdirectories": True if child.iterdir() else False
},
"timestamp": int(child.stat().st_mtime),
"type": "dir"
})
# print("//////////", child.is_dir(), child.resolve(), child.name, child.parent, child.root, child.relative_to(rp))
pprint.pprint(result)
return result
def selectDisk(self, disk):
print(disk)
return True
def download(self, disk):
print(disk)
return True
def preview(self, disk, target_file):
# 预览图片
img_stream = None
if not target_file:
target_file = './evue_photo.png'
with open(target_file, 'rb') as img_f:
img_stream = img_f.read()
img_stream = base64.b64encode(img_stream).decode()
print(disk, target_file)
return img_stream
fileManager = FileManager()
if __name__ == "__main__":
'''
python -m memory_profiler example.py
'''
# from memory_profiler import profile
# @profile
# def test():
# pass
result = fileManager.initialize()
print("----->", result)
result = fileManager.content("uploads", "evueapps/evm")
print(">>>>>>", result)
result = fileManager.tree("uploads", "evueapps/evm")
print("=====>", result)
result = fileManager.preview("uploads", "evueapps/evm")
print("$$$$$>", result)
\ No newline at end of file
'''
Author: your name
Date: 2021-06-28 16:56:59
LastEditTime: 2021-06-29 18:36:23
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\controller.py
'''
from database import session, System, Lvgl, Evm, Image, Watch, Request
class SystemResource(object):
def get(self):
result = session.query(System).all()
print(result)
return result
def post(self, params):
result = System(**params)
session.add(result)
return session.commit()
def put(self):
pass
def delete(self):
pass
class LvglResource(object):
def get(self):
result = session.query(Lvgl).all()
print(result)
return result
def post(self, params):
result = Lvgl(**params)
session.add(result)
return session.commit()
def put(self):
pass
def delete(self):
pass
class EvmResource(object):
def get(self):
result = session.query(Evm).all()
print(result)
return result
def post(self, params):
result = Evm(**params)
session.add(result)
return session.commit()
def put(self):
pass
def delete(self):
pass
class ImageResource(object):
def get(self):
result = session.query(Image).all()
print(result)
return result
def post(self, params):
result = Image(**params)
session.add(result)
return session.commit()
def post_array(self, array, watch):
t = []
for a in array:
a.update({ "watch": watch })
t.append(Image(**a))
session.add_all(t)
return session.commit()
def put(self):
pass
def delete(self):
pass
systemResource = SystemResource()
lvglResource = LvglResource()
evmResource = EvmResource()
imageResource = ImageResource()
def insert_data(msg):
# 先判断手表imei是否存在,不存在则先注册手表IMEI
watch_id = -1
if msg.get("imei"):
result = session.query(Watch).filter_by(imei=msg.get("imei")).first()
if result:
watch_id = result.id
else:
result = Watch(imei=msg.get("imei"))
session.add(result)
session.flush()
session.commit()
result = session.query(Watch).filter_by(imei=msg.get("imei")).first()
if result:
watch_id = result.id
if msg.get("request"):
msg.get("request").update({ "watch": watch_id })
result = Request(**msg.get("request"))
session.add(result)
session.flush()
session.commit()
if msg.get("system"):
msg.get("system").update({ "watch": watch_id })
res = systemResource.post(msg.get("system"))
print("!!!!!!", res)
if msg.get("lvgl"):
msg.get("lvgl").update({ "watch": watch_id })
res = lvglResource.post(msg.get("lvgl"))
print("@@@@@@", res)
if msg.get("evm"):
msg.get("evm").update({ "watch": watch_id })
res = evmResource.post(msg.get("evm"))
print("######", res)
if msg.get("image"):
res = imageResource.post_array(msg.get("image"), watch_id)
print("$$$$$$", res)
\ No newline at end of file
'''
Author: your name
Date: 2021-06-28 16:43:12
LastEditTime: 2021-06-29 19:12:59
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\database.py
'''
from datetime import datetime
from sqlalchemy import create_engine
from sqlalchemy import Column, Integer, String, Float
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
engine = create_engine('sqlite:///monitor.db?check_same_thread=False', echo=True)
Base = declarative_base()
def get_current_datetime():
return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
class Watch(Base):
__tablename__ = 'monitor_watch'
id = Column(Integer, primary_key=True, autoincrement=True)
imei = Column(String)
create_at = Column(String, default=get_current_datetime)
class Request(Base):
__tablename__ = 'monitor_request'
id = Column(Integer, primary_key=True, autoincrement=True)
watch = Column(Integer) # 手表ID
host = Column(String)
path = Column(String)
protocol = Column(String)
create_at = Column(String, default=get_current_datetime)
class System(Base):
__tablename__ = 'monitor_system'
id = Column(Integer, primary_key=True, autoincrement=True)
watch = Column(Integer) # 手表ID
free_size = Column(Integer) # 单位:字节
timestamp = Column(String(50), default=get_current_datetime)
class Lvgl(Base):
__tablename__ = 'monitor_lvgl'
id = Column(Integer, primary_key=True, autoincrement=True)
watch = Column(Integer) # 手表ID
total_size = Column(Integer) # 单位:字节
free_cnt = Column(Integer)
free_size = Column(Integer)
free_biggest_size = Column(Integer)
used_cnt = Column(Integer)
used_pct = Column(Integer)
frag_pct = Column(Integer)
timestamp = Column(String(50), default=get_current_datetime)
class Evm(Base):
__tablename__ = 'monitor_evm'
id = Column(Integer, primary_key=True, autoincrement=True)
watch = Column(Integer) # 手表ID
# total_size = Column(Integer) # 单位:字节
# free_size = Column(Integer)
# gc_usage = Column(Integer)
heap_map_size = Column(Integer)
heap_total_size = Column(Integer)
heap_used_size = Column(Integer)
stack_total_size = Column(Integer)
stack_used_size = Column(Integer)
timestamp = Column(String(50), default=get_current_datetime)
class Image(Base):
__tablename__ = 'monitor_image'
id = Column(Integer, primary_key=True, autoincrement=True)
watch = Column(Integer) # 手表ID
uri = Column(String(50))
length = Column(Integer)
png_uncompressed_size = Column(Integer)
png_total_count = Column(Integer)
png_file_size = Column(Integer)
timestamp = Column(String(50), default=get_current_datetime)
Base.metadata.create_all(engine, checkfirst=True)
# engine是2.2中创建的连接
Session = sessionmaker(bind=engine)
# 创建Session类实例
session = Session()
'''
Author: your name
Date: 2021-06-28 14:39:58
LastEditTime: 2021-06-29 19:32:57
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \ewebengine\tools\evm_monitor\running_monitor.py
'''
import tornado.ioloop
import tornado.web
from tornado.web import RequestHandler, StaticFileHandler
from tornado.websocket import WebSocketHandler, WebSocketClosedError
import json
import signal
import logging
import pprint
from datetime import datetime
from controller import insert_data
logger = logging.getLogger(__name__)
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
class GracefulExit(SystemExit):
code = 1
def raise_graceful_exit(*args):
tornado.ioloop.IOLoop.current().stop()
print("Gracefully shutdown", args)
raise GracefulExit()
class BaseHandler(RequestHandler):
"""解决JS跨域请求问题"""
def set_default_headers(self):
self.set_header('Access-Control-Allow-Origin', '*')
self.set_header('Access-Control-Allow-Methods', 'POST, GET')
self.set_header('Access-Control-Max-Age', 1000)
self.set_header('Access-Control-Allow-Headers', '*')
self.set_header('Content-type', 'application/json')
class WebsocketResponse(ObjectDict):
def __init__(self, type="Response", api_code=-1, message='fail', data=None, traceback=""):
super(WebsocketResponse, self).__init__()
self.type = type
self.code = api_code
self.message = message
self.data = data
self.traceback = traceback
if isinstance(self.data, list):
self.count = len(self.data)
def pushmessage(func):
def send(*agrs, **kwargs):
self = agrs[0]
ret = func(*agrs, **kwargs)
if ret:
msg, binary = ret
try:
if isinstance(msg, WebsocketResponse) or isinstance(msg, dict):
self.write_message(json.dumps(msg), binary)
elif isinstance(msg, str) or isinstance(msg, str):
self.write_message(msg, binary)
else:
self.write_message(repr(msg), binary)
except WebSocketClosedError as e:
logger.error(e)
self.on_close()
return send
class BaseWebsocket(WebSocketHandler):
handlers = {}
def open(self):
className = self.__class__.__name__
logger.warning("websocket of %s is opened" % className)
if className not in self.handlers:
self.handlers[className] = set()
self.handlers[className].add(self)
pprint.pprint(self.handlers)
@pushmessage
def send(self, message, binary=False):
return message, binary
def on_close(self):
className = self.__class__.__name__
logger.warning("websocket of %s is closed" % className)
if className in self.handlers:
self.handlers[className].remove(self)
def check_origin(self, origin):
logger.info(origin)
return True
@classmethod
def broadcastMessage(cls, message, binary=False):
className = cls.__name__
pprint.pprint(cls.handlers)
message = json.dumps(message)
if className in cls.handlers:
for handler in cls.handlers[className]:
handler.send(message, binary)
class NotifyHandler(BaseWebsocket):
"""
建立与web前端的通信连接,发送状态信息报文
"""
def open(self):
super(NotifyHandler, self).open()
def on_message(self, message):
print("hello,world", message)
logger.info(message)
class MainHandler(BaseHandler):
def get(self, *args, **kwargs):
print("#############", args)
print("/////////////", kwargs)
print(self.request.path) # 请求路径
print(self.request.method) # 请求方法
print(self.request.host) # IP地址
print(self.request.protocol)
self.write("Hello, world")
def post(self):
data = tornado.escape.json_decode(self.request.body)
print("=====>", data, type(data))
self.write(json.dumps({ 'code': 100, 'message': 'success' }))
message = {'imei': '12345678900005', 'system': {'free_size': 0}, 'lvgl': {'total_size': 5242880, 'free_cnt': 31, 'free_size': 1279664, 'free_biggest_size': 1205448, 'used_cnt': 832, 'used_pct': 76, 'frag_pct': 6}, 'evm': {'total_size': 2097152, 'free_size': 0, 'gc_usage': 50}, 'image': [{'uri': 'evue_launcher', 'length': 1043, 'png_total_count': 0, 'png_uncompressed_size': 0, 'png_file_size': 0}, {'uri': 'kdgs_1_storyList', 'length': 9608, 'png_total_count': 193, 'png_uncompressed_size': 370884, 'png_file_size': 209807}]}
insert_data(message)
NotifyHandler.broadcastMessage(message)
class DeviceMessageHandler(BaseHandler):
def get(self):
self.write("Hello, world")
def post(self):
data = tornado.escape.json_decode(self.request.body)
print("=====>", data, type(data))
request = {
'host': self.request.remote_ip,
'path': self.request.path,
'protocol': self.request.protocol
}
data.update({ 'request': request })
insert_data(data)
data['request'].update({ 'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S") })
NotifyHandler.broadcastMessage(data)
self.write(json.dumps({ 'code': 100, 'message': 'success' }))
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
(r"/api/v1/evm_store/monitor", DeviceMessageHandler),
(r"/ws/v1/notify", NotifyHandler),
(r"/dist/(.*)", StaticFileHandler, { "path": "dist" }),
])
if __name__ == "__main__":
app = make_app()
app.listen(5001)
signal.signal(signal.SIGINT, raise_graceful_exit)
signal.signal(signal.SIGTERM, raise_graceful_exit)
tornado.ioloop.IOLoop.current().start()
\ No newline at end of file
'''
Author: your name
Date: 2021-06-15 17:40:06
LastEditTime: 2021-06-30 18:17:48
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\application\__init__.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import sys
sys.path.append("..")
from controllers import initConnect
initConnect()
\ No newline at end of file
# -*- coding: utf-8 -*-
import sys
import string
import flask_restful
from flask import Flask, abort, jsonify
......@@ -98,15 +99,12 @@ def create_app(config):
# 自定义abort 400 响应数据格式
flask_restful.abort = _custom_abort
# 数据库初始化
<<<<<<< HEAD
db.init_app(app)
=======
# db.app = app
db.init_app(app)
# 创建表
db.create_all()
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# 注册蓝图
sys.path.append("..")
from views import api_v1
app.register_blueprint(api_v1, url_prefix='/api/v1')
# 使用flask原生异常处理程序
......
......@@ -32,24 +32,15 @@ class ProductionConfig(object):
MYSQL_PORT = 3306
MYSQL_USER = 'debian-sys-maint'
MYSQL_PWD = 'XMigC2B2uugnv18y'
<<<<<<< HEAD
SQLALCHEMY_BINDS = "sqlite:////test.db"
SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
SQLALCHEMY_BINDS = {
'app-store': 'sqlite:///../test.db'
}
SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def __init__(self):
super().__init__()
<<<<<<< HEAD
self.SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
self.SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
class DevelopConfig(object):
......@@ -77,26 +68,17 @@ class DevelopConfig(object):
MYSQL_PORT = 3306
MYSQL_USER = 'debian-sys-maint'
MYSQL_PWD = 'XMigC2B2uugnv18y'
<<<<<<< HEAD
SQLALCHEMY_BINDS = "sqlite:////test.db"
SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
SQLALCHEMY_BINDS = {
'app-store': 'sqlite:///../test.db'
}
SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_ECHO = False
def __init__(self):
super().__init__()
<<<<<<< HEAD
self.SQLALCHEMY_DATABASE_URI = "sqlite:////test.db"
=======
self.SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
if MODE == 'production':
config = ProductionConfig()
......
'''
Author: your name
Date: 2021-06-15 17:40:09
LastEditTime: 2021-06-30 18:09:51
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\manager.py
'''
# -*- coding: utf-8 -*-
from gevent import monkey
monkey.patch_all()
import logging
from tornado.wsgi import WSGIContainer
from tornado.web import Application, FallbackHandler
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from flask_script import Manager
from flask_migrate import Migrate
from multiprocessing import cpu_count
from application.app import create_app, db
from application.config import config
......@@ -24,31 +27,11 @@ def run():
To use: python3 manager.py run
"""
# app.logger.setLevel(app.config.get('LOG_LEVEL', logging.INFO))
# service_config = {
# 'bind': app.config.get('BIND', '0.0.0.0:3000'),
# 'workers': app.config.get('WORKERS', cpu_count() * 2 + 1),
# 'worker_class': 'gevent',
# 'worker_connections': app.config.get('WORKER_CONNECTIONS', 10000),
# 'backlog': app.config.get('BACKLOG', 2048),
# 'timeout': app.config.get('TIMEOUT', 60),
# 'loglevel': app.config.get('LOG_LEVEL', 'info'),
# 'pidfile': app.config.get('PID_FILE', 'run.pid'),
# }
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(3000, address='127.0.0.1')
<<<<<<< HEAD
# wsgi_app = WSGIContainer(app)
# application = Application([
# (r'.*', FallbackHandler, dict(fallback=wsgi_app))
# ], **service_config)
# application.listen(3000)
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
http_server.listen(3000, address='127.0.0.1', xheaders=True)
IOLoop.instance().start()
@manager.command
def debug():
"""
......@@ -56,10 +39,6 @@ def debug():
To use: python3 manager.py debug
"""
# app.logger.setLevel(logging.DEBUG)
<<<<<<< HEAD
print("start from here......")
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
app.run(debug=True, port=3000, host='127.0.0.1')
if __name__ == '__main__':
......
'''
Author: your name
Date: 2021-04-22 18:04:10
LastEditTime: 2021-06-30 17:22:15
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\models\__init__.py
'''
# -*- coding: utf-8 -*-
from sqlalchemy import create_engine
from sqlalchemy import Column, Integer, String
<<<<<<< HEAD
=======
from sqlalchemy.orm import sessionmaker
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from sqlalchemy.ext.declarative import declared_attr, declarative_base
class BaseModelMixin(object):
......@@ -30,9 +35,6 @@ class MyMixin(object):
# example:
class MyModel(MyMixin, BaseModel):
<<<<<<< HEAD
name = Column(String(1000))
=======
__tablename__ = 'mymodel'
name = Column(String(20))
fullname = Column(String(32))
......@@ -62,4 +64,3 @@ session.commit()
# our_user = session.query(MyModel).filter_by(name='ed').first()
# print(our_user)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
'''
Author: your name
Date: 2021-06-15 17:40:14
LastEditTime: 2021-06-30 17:22:44
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\webcreator\event.py
'''
# -*- coding: utf_8 -*-
############################
<<<<<<< HEAD
# Signals-Slots
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# 信号槽
############################
......@@ -46,10 +50,6 @@ class PySignal(object):
def emit(self, *args, **kwargs):
rets = {}
<<<<<<< HEAD
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
for handler in self._handlers:
ret = handler(*args, **kwargs)
rets[handler.__name__] = ret
......
'''
Author: your name
Date: 2021-04-22 18:04:15
LastEditTime: 2021-07-09 00:52:08
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\webcreator\log.py
'''
# -*- coding: utf_8 -*-
############################
......@@ -17,13 +25,13 @@ fh = RotatingFileHandler("logs/running.log", maxBytes=10 * 1024 * 1024, backupCo
fh.setLevel(logging.DEBUG)
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('[%(asctime)s][%(levelname)7s][in %(pathname)s -> %(funcName)s line:%(lineno)s] %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger = logging.root
logger.setLevel(logging.INFO)
logger.setLevel(logging.DEBUG)
logger.addHandler(fh)
logger.addHandler(ch)
\ No newline at end of file
from datetime import datetime
from application.app import db
from models.{{ config['name'] }} import {{ config['name'] | letterUpper }}Model
<<<<<<< HEAD
from webcreator.utils import ResponseCode, response_result
=======
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
# from webcreator.response import ResponseCode, response_result
class {{ config['name'] | letterUpper }}Resource(object):
def __init__(self):
......@@ -14,16 +10,11 @@ class {{ config['name'] | letterUpper }}Resource(object):
def get(self, uuid, params):
# handle business
<<<<<<< HEAD
filters = []
result = {{ config['name'] | letterUpper }}Model.query.filter(*filters).order_by({{ config['name'] | letterUpper }}Model.areaId).paginate(params.get('page', 1), params.get('pageSize', 10), error_out=False)
=======
filters = [{{ config['name'] | letterUpper }}Model.is_delete==False, {{ config['name'] | letterUpper }}Model.uuid==uuid]
result = {{ config['name'] | letterUpper }}Model.query.filter(*filters).first()
if result:
return (True, result)
return (False, result)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
def getList(self, params):
# handle business
......@@ -33,19 +24,6 @@ class {{ config['name'] | letterUpper }}Resource(object):
return (True, result.items, result.total)
<<<<<<< HEAD
def post(self, params, jwt=None):
# handle business
result = {{ config['name'] | letterUpper }}Model.query.filter({{ config['name'] | letterUpper }}Model.areaName == params.get('areaName')).first()
if result and result.is_delete:
result.is_delete = False
result.update_by = jwt['id']
result.update_date = datetime.now()
db.session.commit()
return response_result(ResponseCode.OK)
elif result and result.is_delete == False:
return response_result(ResponseCode.EXISTS_ERROR)
=======
def post(self, params, jwt={}):
# handle business
result = {{ config['name'] | letterUpper }}Model.query.filter({{ config['name'] | letterUpper }}Model.{{ config["model"]["fields"][0]["name"] }} == params.get('{{ config["model"]["fields"][0]["name"] }}')).first()
......@@ -57,19 +35,10 @@ class {{ config['name'] | letterUpper }}Resource(object):
return (True, None)
elif result and result.is_delete == False:
return (False, "record code exists")
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
result = {{ config['name'] | letterUpper }}Model(**params)
db.session.add(result)
db.session.commit()
<<<<<<< HEAD
return response_result(ResponseCode.OK)
def put(self, id, params, jwt=None):
# handle business
result = {{ config['name'] | letterUpper }}Model.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA)
=======
return (True, None)
def put(self, uuid, params, jwt={}):
......@@ -78,7 +47,6 @@ class {{ config['name'] | letterUpper }}Resource(object):
if not result:
return (False, "record not exists")
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
if params:
for key, value in params.items():
if value != None: setattr(result, key, value)
......@@ -87,20 +55,6 @@ class {{ config['name'] | letterUpper }}Resource(object):
db.session.commit()
return (True, None)
else:
<<<<<<< HEAD
return response_result(ResponseCode.PARAM_NULL)
def delete(self, id, jwt=None):
# handle business
result = {{ config['name'] | letterUpper }}Model.query.get(id)
if not result: return response_result(ResponseCode.NO_DATA_FOUND)
else:
result.update_by = jwt['id']
result.update_date = datetime.now()
result.is_delete = True
db.session.delete(result)
db.session.commit()
=======
return (False, "params is null")
def delete(self, uuid, jwt={}):
......@@ -115,6 +69,5 @@ class {{ config['name'] | letterUpper }}Resource(object):
db.session.delete(result)
db.session.commit()
return (True, None)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{{ config["name"] }}Manager = {{ config['name'] | letterUpper }}Resource()
\ No newline at end of file
......@@ -10,19 +10,11 @@ class {{ config['name'] | letterUpper }}Model(PrimaryModel):
__tablename__ = '{{ application["tablePrefix"] }}{{ config['name'] }}'
{% for value in config['model']['fields'] %}
{%- if value.get('primaryKey', None) %}
<<<<<<< HEAD
{{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}, primary_key = True, {% if value.get('autoIncrement') %}autoincrement = True{% endif %})
{%- 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("default", None) %}, default = {{value.get("default")}}{% endif %})
{%- 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("default", None) %}, default = {{value.get("default")}}{% endif %})
=======
{{ value.get('name') }} = db.Column(db.{{ value.get('dataType') }}, primary_key = True)
{%- 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 %})
{%- 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 %})
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{%- endif %}
{%- endfor %}
......@@ -51,11 +43,7 @@ class {{ config['name'] | letterUpper }}Model(PrimaryModel):
class {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(ma.SQLAlchemySchema):
class Meta:
# unknown = INCLUDE # 未知字段默认包含
<<<<<<< HEAD
# unknown = EXCLUDE # 未知字段默认排除
=======
unknown = EXCLUDE # 未知字段默认排除
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
model = {{ config['name'] | letterUpper }}Model
{%- if config['model']['foreignKey'] %}
include_fk = {{ config['model']['foreignKey'] }}
......@@ -81,13 +69,9 @@ class {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(ma.SQLAlch
#}
{%- for p in value['params'] %}
<<<<<<< HEAD
{%- if p.get("name") in fields %}
=======
{%- if p.get("priority") %}
{{ p.get("name") }} = fields.{{ p.get("dataType") }}(required={{ p.get("required") }}{%- if p.get("dataType") == "String" %}, length={{ p.get("length") }}{%- endif %})
{%- elif p.get("name") in fields %}
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{{ p.get("name") }} = ma.auto_field()
{%- else %}
{{ p.get("name") }} = fields.{{ p.get("dataType") }}(required={{ p.get("required") }}{%- if p.get("dataType") == "String" %}, length={{ p.get("length") }}{%- endif %})
......@@ -95,11 +79,7 @@ class {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(ma.SQLAlch
{%- endfor %}
{{ key }}{{ config['name'] | letterUpper }}Schema = {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema()
<<<<<<< HEAD
{%- if key == "post" %}
=======
{%- if key == "getList" %}
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{{ key }}{{ config['name'] | letterUpper }}sSchema = {{ key | letterUpper }}{{ config['name'] | letterUpper }}Schema(many=True)
{%- endif %}
{% endfor %}
\ No newline at end of file
#!/usr/bin/env python
# -*- coding: utf_8 -*-
<<<<<<< HEAD
from application.app import signalManager
=======
from application.signal_manager import signalManager
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{%- for api in config %}
from .{{ api['name'] }} import {{ api["name"] }}Manager
{%- endfor %}
......@@ -16,8 +12,3 @@ def initConnect():
signalManager.action{{ key | letterUpper }}{{ api.get("name") | letterUpper }}.connect({{ api.get("name") }}Manager.{{ key }})
{%- endfor %}
{%- endfor %}
<<<<<<< HEAD
initConnect()
=======
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
......@@ -5,14 +5,9 @@ from flask_jwt_extended import ( jwt_required, get_jwt_identity )
from application.signal_manager import signalManager
{%- set pipe = joiner(",") %}
from models.{{ config['name'] }} import {% for k, v in config["view"].items() -%}
<<<<<<< HEAD
{{ pipe() }}{{ k }}{{ config['name'] | letterUpper }}Schema
{%- endfor %}
=======
{{ pipe() }}{{ k }}{{ config['name'] | letterUpper }}Schema{% if k == "getList" %}{{ pipe() }}{{ k }}{{ config['name'] | letterUpper }}sSchema{% endif %}
{{ pipe() }} {{ k }}{{ config['name'] | letterUpper }}Schema{% if k == "getList" %}{{ pipe() }} {{ k }}{{ config['name'] | letterUpper }}sSchema{% endif %}
{%- endfor %}
from webcreator.log import logger
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
from webcreator.response import ResponseCode, response_result
class {{ config['name'] | letterUpper }}ResourceList(Resource):
......@@ -23,11 +18,7 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource):
{%- if config["view"]["getList"] %}
{% if config["view"]["getList"]["auth"] %}
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{%- endif %}
def get(self):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
......@@ -37,13 +28,6 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource):
try:
json_payload = request.json
<<<<<<< HEAD
print("========>", json_payload)
data = getList{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(**data)
json_dumps = getList{{ config['name'] | letterUpper }}Schema.dump(result)
return jsonify(json_dumps), 200
=======
logger.warn(json_payload)
data = getList{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionGetList{{ config["name"] | letterUpper }}.emit(data)
......@@ -53,7 +37,6 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource):
logger.warn(json_dumps)
return response_result(ResponseCode.OK, data=json_dumps, count=result[2])
return response_result(ResponseCode.REQUEST_ERROR)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -61,28 +44,18 @@ class {{ config['name'] | letterUpper }}ResourceList(Resource):
{%- if config["view"]["post"] %}
{% if config["view"]["post"]["auth"] %}
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{%- endif %}
def post(self):
try:
json_payload = request.json
data = post{{ config['name'] | letterUpper }}Schema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPost{{ config["name"] | letterUpper }}.emit(**data)
json_dumps = post{{ config['name'] | letterUpper }}Schema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPost{{ config["name"] | letterUpper }}.emit(data)
if result[0] == False:
# json_dumps = post{{ config["name"] | letterUpper }}Schema.dump(result)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
logger.warn(result)
return response_result(ResponseCode.OK)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -96,11 +69,7 @@ class {{ config['name'] | letterUpper }}Resource(Resource):
{%- if config["view"]["get"] %}
{% if config["view"]["get"]["auth"] %}
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{%- endif %}
def get(self, uuid):
# 特殊参数,即不是从json获取参数的接口,可以将这个注释打开
......@@ -112,17 +81,11 @@ class {{ config['name'] | letterUpper }}Resource(Resource):
json_payload = request.json
print("========>", uuid, json_payload)
data = get{{ config['name'] | letterUpper }}Schema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(**data)
json_dumps = get{{ config['name'] | letterUpper }}Schema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionGet{{ config["name"] | letterUpper }}.emit(uuid, data)
if result[0]:
json_dumps = get{{ config['name'] | letterUpper }}Schema.dump(result[1])
return response_result(ResponseCode.OK, data=json_dumps)
return response_result(ResponseCode.NO_DATA)
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -130,28 +93,18 @@ class {{ config['name'] | letterUpper }}Resource(Resource):
{%- if config["view"]["put"] %}
{% if config["view"]["put"]["auth"] %}
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{%- endif %}
def put(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = put{{ config['name'] | letterUpper }}Schema.load(json_payload)
<<<<<<< HEAD
result = signalManager.actionPut{{ config["name"] | letterUpper }}.emit(**data)
json_dumps = put{{ config['name'] | letterUpper }}Schema.dump(result)
return jsonify(json_dumps), 200
=======
result = signalManager.actionPut{{ config["name"] | letterUpper }}.emit(uuid, data)
if result[0] == True:
# json_dumps = put{{ config['name'] | letterUpper }}Schema.dump(result)
return response_result(ResponseCode.OK)
return response_result(ResponseCode.NOTHING_CHANGE, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......@@ -159,28 +112,17 @@ class {{ config['name'] | letterUpper }}Resource(Resource):
{%- if config["view"]["delete"] %}
{% if config["view"]["delete"]["auth"] %}
<<<<<<< HEAD
@jwt_required
=======
@jwt_required(locations=["headers"])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
{%- endif %}
def delete(self, uuid):
try:
json_payload = request.json
print("========>", uuid, json_payload)
<<<<<<< HEAD
data = delete{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionDelete{{ config["name"] | letterUpper }}.emit(**data)
json_dumps = delete{{ config['name'] | letterUpper }}Schema.dump(result)
return jsonify(json_dumps), 200
=======
# data = delete{{ config['name'] | letterUpper }}Schema.load(json_payload)
result = signalManager.actionDelete{{ config["name"] | letterUpper }}.emit(uuid)
if result[0] == True:
return response_result(ResponseCode.OK)
return response_result(ResponseCode.REQUEST_ERROR, msg=result[1])
>>>>>>> 735d39eb4d0c3134b62bf4fe1b7a2ca0ea8da1ca
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.DB_ERROR)
......
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