bale_apk/utils/bale.py
2021-06-02 11:13:02 +08:00

60 lines
1.7 KiB
Python

# 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()