# coding:utf-8 import json import os import requests from core.config import settings from .put_file import put_file class Bale: status = 'idle' @classmethod def run_bale_apk(cls, dir_, id_): try: pkg_num = 0 with open(os.path.join(settings.ROOT_DIR, 'ApkTool/channel'), 'r') as f: props = json.load(f) pkg_num = int(props.get('num', {}).get('value', 0)) cls.status = 'busy' cmd = os.path.join(settings.ROOT_DIR, 'ApkTool/run.sh') os.system(cmd) path = os.path.join(settings.ROOT_DIR, 'ApkTool/bin') if not os.path.exists(path): return cls.status = 'upload' print('开始上传包') count = 0 for item in os.listdir(path): if item.endswith('.apk'): count += 1 print(f'开始上传:{item}') is_ok, msg = put_file(f'{dir_}/{item}', os.path.join(path, item)) os.remove(os.path.join(path, item)) if not is_ok: continue data = { 'id': id_, 'url': msg, 'apkname': item, 'done': int(count >= pkg_num) } resp = requests.post('http://gamesdk.legu.cc/api/subpackageRecord/getRecord', data=data) print(f'上传:{item} 完成') except Exception as e: with open('log.log', 'w') as f: f.write(str(e)) finally: cls.status = 'idle' bale = Bale()