Commit ea8f1d97 authored by wanli's avatar wanli

update

parent 75743db5
123
456
789
123
\ No newline at end of file
123
456
789
123
\ No newline at end of file
......@@ -24,6 +24,13 @@ class SignalManager(object):
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__()
......
'''
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 -*-
......@@ -7,6 +15,7 @@ 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)
......@@ -28,4 +37,6 @@ def initConnect():
signalManager.actionPutUser.connect(userManager.put)
signalManager.actionPostLogin.connect(loginManager.post)
signalManager.actionGetListLogin.connect(loginManager.getList)
signalManager.actionGetLogin.connect(loginManager.get)
\ No newline at end of file
signalManager.actionGetLogin.connect(loginManager.get)
signalManager.actionGetFileContent.connect(fileManager.content)
# signalManager.actionGEt
\ No newline at end of file
......@@ -2,7 +2,7 @@ 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
# from webcreator.response import ResponseCode, response_result
class AppResource(object):
def __init__(self):
......
......@@ -2,7 +2,7 @@ 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
# from webcreator.response import ResponseCode, response_result
class AreaResource(object):
def __init__(self):
......
......@@ -2,7 +2,7 @@ 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
# from webcreator.response import ResponseCode, response_result
class LoginResource(object):
def __init__(self):
......
......@@ -2,7 +2,7 @@ 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
# from webcreator.response import ResponseCode, response_result
class PackageResource(object):
def __init__(self):
......
......@@ -2,7 +2,7 @@ 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
# from webcreator.response import ResponseCode, response_result
class UserResource(object):
def __init__(self):
......
'''
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
......@@ -24,15 +24,18 @@
},
"modules": [
{
"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
},
{
"file": "modules/menu.json",
"config": "modules/menu.json",
"enable": false
}
],
......
from fs.copy import copy_fs
from jinja2 import Environment, FileSystemLoader
from pprint import pprint
from pathlib import Path
from difflib import Differ, HtmlDiff
import fs
import json
import os
......@@ -7,6 +10,7 @@ import re
import hashlib
import time
import shutil
from resources.webcreator import log
'''
流程:
......@@ -37,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'))
......@@ -58,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的首字母必须大写
......@@ -77,6 +118,10 @@ def handleSignal(config):
handleRender(config, 'signal_manager_init.tpl', target_file)
def handleModel(config, application):
# 判断是否有model字段,没有直接退出
if not config.get("model"):
return None
# 将所有有默认值的字段分为一组,没有默认值的字段分为另一组
# 生成模板代码时,无默认值的字段在前,有默认值的字段字在后
# 收集表字段信息
......@@ -143,6 +188,7 @@ def parseConfig(config):
handleController(cfg)
handleResources(config.get("apis"))
handleSignal(config.get("apis"))
handleModules(config.get("modules"))
def readConfig():
result = {}
......
......@@ -172,7 +172,7 @@ class FileManager(object):
return result
def select_disk(self, disk):
def selectDisk(self, disk):
print(disk)
return True
......@@ -183,8 +183,9 @@ class FileManager(object):
def preview(self, disk, target_file):
# 预览图片
img_stream = None
img_local_path = './evue_photo.png'
with open(img_local_path, 'rb') as img_f:
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)
......
{"directories": [{"basename": "evue_launcher-1.0-20210420145404", "dirname": "evueapps/evm", "path": "evueapps/evm/evue_launcher-1.0-20210420145404", "timestamp": 1618901645, "type": "dir"}], "files": []}
\ No newline at end of file
{
"directories": [
{
"basename": "evue_launcher-1.0-20210420145404",
"dirname": "evueapps/evm",
"path": "evueapps/evm/evue_launcher-1.0-20210420145404",
"timestamp": 1618901645,
"type": "dir"
}
],
"files": []
}
\ No newline at end of file
'''
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
......@@ -2,7 +2,7 @@ from datetime import datetime
from application.app import db
from models.{{ config['name'] }} import {{ config['name'] | letterUpper }}Model
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
# from webcreator.response import ResponseCode, response_result
class {{ config['name'] | letterUpper }}Resource(object):
def __init__(self):
......
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