api_manager.py 3.23 KB
Newer Older
wanli's avatar
wanli committed
1 2 3
'''
Author: your name
Date: 2021-04-14 14:12:18
wanli's avatar
wanli committed
4
LastEditTime: 2021-07-01 11:39:27
wanli's avatar
wanli committed
5 6 7 8
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\backend\controller\api_manager.py
'''
wanli's avatar
wanli committed
9 10 11
#!/usr/bin/env python
# -*- coding: utf_8 -*-

wanli's avatar
wanli committed
12
import os
wanli's avatar
wanli committed
13
import logging
wanliofficial's avatar
wanliofficial committed
14
import shutil
wanli's avatar
wanli committed
15 16
from datetime import datetime
from pony.orm import *
wanli's avatar
wanli committed
17
from app.setting import config
wanli's avatar
wanli committed
18 19
from model.user import User
from utils import md5_salt
wanli's avatar
wanli committed
20
from utils.ccode import convert_string
wanli's avatar
wanli committed
21

wanli's avatar
wanli committed
22
logger = logging.getLogger(__name__)
wanli's avatar
wanli committed
23 24 25 26 27

class ApiManager(object):
    def __init__(self):
        super(ApiManager, self).__init__()

wanli's avatar
wanli committed
28
    def update_user_password(self, user, data):
wanli's avatar
wanli committed
29
        with db_session:
wanli's avatar
wanli committed
30
            editor = User.get(id=user)
wanli's avatar
wanli committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
            if not editor:
                return False, "current user is not exists"

            result = User.get(uuid=data.get("uuid"), password=md5_salt(data['password']))

            if not result:
                return None, "user does not exists"

            data.pop("uuid")
            data['password'] = md5_salt(data['newPassword'])
            data.pop('newPassword')
            data.update({
                "create_by": editor.id,
                "create_at": datetime.now(),
                "update_by": editor.id,
                "update_at": datetime.now()
            })

            result = result.set(**data)
            commit()

            return True, "success"

wanli's avatar
wanli committed
54
    def get_escape_text(self, data):
wanli's avatar
wanli committed
55 56
        # fname = "./a.c"
        # target = os.sep.join(["out", fname])
wanliofficial's avatar
wanliofficial committed
57

wanli's avatar
wanli committed
58 59
        # if os.path.exists(fname):
        #     os.remove(fname)
wanliofficial's avatar
wanliofficial committed
60

wanli's avatar
wanli committed
61 62
        # if os.path.exists(target):
        #     os.remove(target)
wanliofficial's avatar
wanliofficial committed
63

wanli's avatar
wanli committed
64 65
        # with open(fname, "w+") as f:
        #     f.write(data['string'])
wanliofficial's avatar
wanliofficial committed
66

wanli's avatar
wanli committed
67 68
        # result = os.system("./opqcp {i} ./out".format(i=fname))
        # print(result)
wanliofficial's avatar
wanliofficial committed
69

wanli's avatar
wanli committed
70 71
        # with open(target) as f:
        #     result = f.read()
wanliofficial's avatar
wanliofficial committed
72

wanli's avatar
wanli committed
73
        # return result
wanliofficial's avatar
wanliofficial committed
74

wanli's avatar
wanli committed
75
        return convert_string(data['string'])
wanli's avatar
wanli committed
76

wanli's avatar
wanli committed
77 78 79
    def opqcp(self, params):
        target_file = os.path.normpath(os.sep.join([config.get("UPLOAD_PATH"), params.get("filename")]))

wanliofficial's avatar
wanliofficial committed
80 81
        shutil.copy(target_file, os.getcwd())

wanli's avatar
wanli committed
82 83 84
        # dtNowString = datetime.now().strftime("%Y%m%d%H%M%S%f")
        # fn, ex = os.path.splitext(params.get("filename"))

wanliofficial's avatar
wanliofficial committed
85 86 87
        output_path = os.sep.join([os.path.dirname(target_file), "out"])
        if not os.path.exists(output_path):
            os.makedirs(output_path)
wanli's avatar
wanli committed
88 89

        print("#######", output_path)
wanliofficial's avatar
wanliofficial committed
90 91 92 93
        # print(os.path.dirname(os.getcwd()), os.path.abspath("../opqcp/opqcp"))

        result = os.system("./opqcp {i} ./out".format(i=os.path.basename(target_file)))
        print(result)
wanli's avatar
wanli committed
94

wanli's avatar
wanli committed
95
        # command = ["./opqcp", os.path.basename(target_file), "./"]
wanliofficial's avatar
wanliofficial committed
96 97 98
        fname = os.sep.join([os.getcwd(), "out", os.path.basename(target_file)])
        shutil.copy(fname, output_path)
        os.remove(fname)
wanli's avatar
wanli committed
99 100 101 102 103 104 105
        
        # ret = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding="utf-8", timeout=5)
        # if ret.returncode == 0:
        #     print("success:", ret)
        # else:
        #     print("error:", ret)

wanliofficial's avatar
wanliofficial committed
106
        # ret = target_file
wanli's avatar
wanli committed
107

wanliofficial's avatar
wanliofficial committed
108
        return True, os.sep.join([output_path.replace(config.get("UPLOAD_PATH"), ""), params.get("filename")])
wanli's avatar
wanli committed
109

wanli's avatar
wanli committed
110
apiManager = ApiManager()