Files
youtube-dl/lib/system/logic_terminal.py
soju6jan 29930fdef7 test
2022-10-02 20:18:05 +09:00

62 lines
1.7 KiB
Python

try:
import yaml
a = yaml.FullLoader
except:
from framework import app
import os
try: os.system(f"{app.config['config']['pip']} install --upgrade pyyaml")
except: pass
import os, sys, traceback, json
from framework import path_data
from flask import request, render_template, redirect, jsonify
from .plugin import logger
class SystemLogicTerminal(object):
yaml_path = os.path.join(path_data, 'db', 'terminal.yaml')
@classmethod
def process_ajax(cls, sub, req):
logger.error(sub)
logger.error(req)
try:
if sub == 'get_info':
ret = cls.get_info()
elif sub == 'run':
data = cls.get_info()
idx = int(req.form['index'])
from terminal.logic_terminal import LogicTerminal
LogicTerminal.wait_input(data['commands'][idx]['command'])
return jsonify({'ret':'success'})
return jsonify(ret)
except Exception as e:
logger.error(f'Exception: {str(e)}')
logger.error(traceback.format_exc())
@classmethod
def get_info(cls):
if os.path.exists(cls.yaml_path) == False:
with open(cls.yaml_path, 'w', encoding='utf8') as f:
f.write(yaml_templete)
with open(cls.yaml_path, 'r', encoding='utf8') as f:
info = yaml.load(f, Loader=yaml.FullLoader)
return info
yaml_templete = '''
commands:
- title: SJVA 데이터 폴더별 크기 확인
command: |
cd ./data
du -h -d 1
- title: SJVA 도커 재시작
command: |
ssh -i MY.pem ubuntu@172.17.0.1
sudo docker restart sjva
'''