diff --git a/server.py b/server.py index 3f6032b..666f059 100755 --- a/server.py +++ b/server.py @@ -1,15 +1,117 @@ -#!/usr/bin/env pyton3 +"""#!/usr/bin/env pyton3 # -*- coding: UTF-8 -*- '__autor__' =='serkus' -from http.server import HTTPServer, SimpleHTTPRequestHandler, BaseHTTPRequestHandler +""" +#from http.server import HTTPServer, SimpleHTTPRequestHandler, BaseHTTPRequestHandler import logging -from core.handler import Handler as Handler +#from core.handler import Handler as Handler import os, sys, json, ssl -from core.route import Router #PORT_NUMBER = 8000 from utils.findfsdb import create_db from utils.utils import load_config +import json +# from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer +#from http.server import BaseHTTPRequestHandler +from core.bottle.bottle import Bottle, run +#route, post, head, request, error, run +from utils.utils import get_list_overlays, load_config, write_config, sort_install_pkg +from utils.package import search +from utils.findfsdb import on_find +from core.route import Router +from core.jwt import genaratorSecretsToken +import logging +from io import BytesIO +#repl = '\n' + +app =Bottle() +@app.post('/login') +def login(user='demo', password='demo'): + if auth(): + return(generatoSecretsToken()) + else: + return ("403") +@app.post('/') +def main(): + try: + with open('./pkgs.json', 'tr') as fn: + data = fn.read() + pkg_list = json.loads(data) + #print(pkg_list) + return json.dumps(pkg_list) + except Exception(e): + print(e) + return "404" +@app.post('/set_settings') +def set_settings_app(params): + config = load_config() + # param = self.path.replace("/?st_app=", "") + list_param = param.split(',') + print(list_param) + for i in list_param: + if i.startswith('port'): + port = int(i.split('=')[1]) + elif i.startswith('Lang'): + Lang = i.split('=')[1] + + write_config(port, Lang) + print(config) + print(param) +@app.post('/find') +def search(pkg): + # param = self.path.replace("/find?pkg=", "") #request['params']['name'] + Pk_list = [] + Search_result = {} + if len(param.split('/')) == 2: + param = param.split('/')[1] + P_list = on_find(param) + print(p_list) + if len(P_list) == 0: + print("Never Found") + self.r_t = str(json.dumps({"Package_result": p_list})) + else: + for p in p_list: + print(p) + if len(param.split("/")) == 2: + Pk_list.append(search(param.split("/")[1])) + else: + Pk_list.append(search(param)) + # print(pk) + Search_result = {"Package_result": Pk_list} + # self.r_t = str(json.dumps(search_result)) + return str(json.dumps(Search_result)) + # self.r_t = json.dumps(pkg_list) +@app.post('/get_settings') +def get_settings_app(): + return str(json.dumps(load_config())) +@app.route('*',['GET']) +def req_get(): + return" 404" + + +def runServer(): + create_db() + config = load_config() + if len(config) == 0: + print("Файл конфигурации пустой.") + return 1 + try: + print(config['PORT']) + except KeyError: + print("KeyError") + except KeyboardInterrupt: + pass + #[3] keyfile='key.pem', + run(host='0.0.0.0', port= config['Server']['PORT'], certfile='localhost.pem') + + + + + + + + +""" def https_server(): https_server_address = ('', 4443) httpd = HTTPServer(https_server_address, SimpleHTTPRequestHandler) @@ -48,9 +150,10 @@ def run(): except KeyboardInterrupt: logging.info('Stopping httpd...\n') server.server_close() - +""" if __name__ == '__main__': #https_server() - run() - https_server() + #run() + #https_server() + runServer() diff --git a/utils/__pycache__/parsePortage.cpython-39.pyc b/utils/__pycache__/parsePortage.cpython-39.pyc index 5682dda..b0b9738 100644 Binary files a/utils/__pycache__/parsePortage.cpython-39.pyc and b/utils/__pycache__/parsePortage.cpython-39.pyc differ diff --git a/utils/parsePortage.py b/utils/parsePortage.py index b497023..6bc0cb3 100644 --- a/utils/parsePortage.py +++ b/utils/parsePortage.py @@ -7,7 +7,7 @@ class PortageConfig(): self.Config = load_config() self.TargetParse =['USE', 'USE_EXPAN', 'VIDEO_CARDS', 'ACCEPT_CHOSTS', 'ACCEPT_LICENSE','CCACHE_DIR', 'CCACHE_SIZE', 'EMERGE_DEFAULT_OPTS', 'CFLAGS', 'CXXFLAGS', 'MAKEOPTS'] - self.MakeConfig={} + #self.MakeConfig={} self.EnvPortaga ={} super().__init__(self.run()) def getLines(self, filename):