Skip to content

Commit 3a8443d

Browse files
author
hgjazhgj
committed
v10.4.1
1 parent 8385483 commit 3a8443d

File tree

5 files changed

+17
-9
lines changed

5 files changed

+17
-9
lines changed

Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
# docker build -t hgjazhgj/fgo-py:latest .
2-
# docker run -v $PWD/FGO-py:/FGO-py -p 5000:5000 --name fgo-py -it hgjazhgj/fgo-py
2+
# docker run -v $PWD/FGO-py:/FGO-py -p 5000:5000 --name fgo-py -it --rm hgjazhgj/fgo-py
33

44
FROM python:3.9-slim
55
WORKDIR /FGO-py
66
#&& python3.9 -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ \
77
#&& python3.9 -m pip config set install.trusted-host mirrors.aliyun.com \
8-
RUN pip install airtest flask \
8+
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
9+
&& echo 'Asia/Shanghai' > /etc/timezone \
10+
&& pip install airtest flask tqdm \
911
&& pip uninstall -y opencv-contrib-python \
1012
&& pip install opencv-contrib-python-headless \
1113
&& rm -r ~/.cache/pip

FGO-py/fgoCli.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import argparse,cmd,json,os,platform,re,signal,time
22
import fgoDevice
33
import fgoKernel
4-
from functools import wraps
4+
from functools import reduce,wraps
55
from fgoLogging import getLogger,color
66
from fgoTeamupParser import IniParser
77
logger=getLogger('Cli')
@@ -137,7 +137,7 @@ def do_continue(self,line):
137137
arg=parser_battle.parse_args(line.split())
138138
assert fgoDevice.device.available
139139
assert not fgoKernel.lock.locked()
140-
countdown(arg.sleep)
140+
countdown(reduce(lambda x,y:x*60+int(y),arg.sleep.split(':'),0))
141141
try:
142142
signal.signal(signal.SIGINT,lambda*_:fgoKernel.schedule.stop())
143143
if platform.system()=='Windows':signal.signal(signal.SIGBREAK,lambda*_:fgoKernel.schedule.pause())
@@ -226,12 +226,12 @@ class ArgParser(argparse.ArgumentParser):
226226
def exit(self,status=0,message=None):raise ArgError(message)
227227

228228
parser_battle=ArgParser(prog='battle',description=Cmd.do_battle.__doc__)
229-
parser_battle.add_argument('-s','--sleep',help='Sleep before run (default: %(default)s)',type=validator(float,lambda x:x>=0,'nonnegative'),default=0)
229+
parser_battle.add_argument('-s','--sleep',help='Sleep before run (default: %(default)s)',type=validator(str,lambda x:re.match(r'\d+(:\d+)*$',x),'timedelta'),default='0')
230230

231231
parser_main=ArgParser(prog='main',description=Cmd.do_main.__doc__)
232232
parser_main.add_argument('appleCount',help='Apple Count (default: %(default)s)',type=validator(int,lambda x:x>=0,'nonnegative int'),default=0,nargs='?')
233233
parser_main.add_argument('appleKind',help='Apple Kind (default: %(default)s)',type=str.lower,choices=['gold','silver','bronze','quartz'],default='gold',nargs='?')
234-
parser_main.add_argument('-s','--sleep',help='Sleep several seconds before run (default: %(default)s)',type=validator(float,lambda x:x>=0,'nonnegative'),default=0)
234+
parser_main.add_argument('-s','--sleep',help='Sleep before run (default: %(default)s)',type=validator(str,lambda x:re.match(r'\d+(:\d+)*$',x),'timedelta'),default='0')
235235
parser_main.add_argument('-a','--appoint',help='Battle count limit (default: %(default)s for no limit)',type=validator(int,lambda x:x>=0,'nonnegative int'),default=0)
236236

237237
parser_connect=ArgParser(prog='connect',description=Cmd.do_connect.__doc__)
@@ -259,7 +259,7 @@ def exit(self,status=0,message=None):raise ArgError(message)
259259

260260
parser_call=ArgParser(prog='call',description=Cmd.do_call.__doc__)
261261
parser_call.add_argument('func',help='Additional feature name',choices=['gacha','lottery','mail','synthesis','gachaHistory'])
262-
parser_call.add_argument('-s','--sleep',help='Sleep several seconds before run (default: %(default)s)',type=validator(float,lambda x:x>=0,'nonnegative'),default=0)
262+
parser_call.add_argument('-s','--sleep',help='Sleep before run (default: %(default)s)',type=validator(str,lambda x:re.match(r'\d+(:\d+)*$',x),'timedelta'),default='0')
263263

264264
parser_169=ArgParser(prog='169',description=Cmd.do_169.__doc__)
265265
parser_169.add_argument('action',help='Action',type=str.lower,choices=['invoke','revoke'])

FGO-py/fgoConst.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION='v10.4.0'
1+
VERSION='v10.4.1'
22
CONFIG={
33
'runOnce':'',
44
'device':'',

FGO-py/fgoLogging.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
if platform.system()=='Windows':(lambda k:k.SetConsoleMode(k.GetStdHandle(-11),7))(__import__('ctypes').windll.kernel32) # -11:STD_OUTPUT_HANDLE, 7:ENABLE_VIRTUAL_TERMINAL_PROCESSING
66
monoFormatter=logging.Formatter('[%(asctime)s][%(levelname)s]<%(name)s> %(message)s')
77
if os.getenv('NO_COLOR'):
8-
def color(c=None,f='38'):return''
8+
def color(*_,**__):return''
99
coloredFormatter=monoFormatter
1010
else:
1111
def color(c=None,f='38'):return'\033[0m'if c is None else f'\033[{f};2;{c>>16&0xFF};{c>>8&0xFF};{c&0xFF}m'

readme.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,12 @@ Add:onepush
266266

267267
# 版本记录 Version Logs
268268

269+
## 2023/02/16 v10.4.1
270+
271+
Opt:cli下-s sleep允许输入\[\[hh:\]mm:\]ss时间格式
272+
就是解析了一个冒分60进制数,因此可以有多段,每段亦可大于60
273+
Opt:dockerfile
274+
269275
## 2023/01/29 v10.4.0
270276

271277
Add:NO_COLOR

0 commit comments

Comments
 (0)