2 Star 1 Fork 1

Neo Anderson/rpicker

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Consts.py 7.36 KB
一键复制 编辑 原始数据 按行查看 历史
import os
import json
CLI_FPS = 16
WARN_CP = 4
NORMAL_CP = 2
TOGGLE_DELAY = 2 * 60
TOTAL_ROUND_TIME = 17 * 60
WHAT_TOGGLE_TOO_FAST = 0x01
DEFAULT_TARGET_PATH = 'cache'
DEFAULT_TARGET_FILE = 'targets.json'
RR_NUMBER = 7
RAW_MARKER = '#'
RAW_SQ = [
[' #### ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' #### '],
[' ## ',
' ### ',
' # ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ################ '],
[' ####### ',
' ## ## ',
' ## ## ',
' ## ## ',
' # ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## # ',
' ################ '],
[' ###### ',
' ## ## ',
' ## ## ',
' ## ## ',
' # ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ### ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' # ## ',
' # ## ',
' ## ## ',
' ## ## ',
' ###### '],
[' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ############### ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## '],
[' ############# ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ####### ',
' ## ## ## ',
' ## ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' # ## ',
' # ## ',
' ## ## ',
' ## ## ',
' ###### '],
[' ### ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ###### ',
' ## ## ## ',
' ### ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ###### '],
[' ################ ',
' ## ## ',
' # ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## '],
[' ###### ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ###### ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ###### '],
[' ###### ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ## ',
' ## ### ',
' ## ## ## ',
' ###### ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',
' ## ',]
]
def Singleme(clz):
instance = {}
def _s(*args, **kwargs):
if clz not in instance:
instance[clz] = clz(*args, **kwargs)
return instance[clz]
return _s
def file2json(file):
r = None
if os.path.exists(file):
with open(file, 'r', encoding='utf-8') as f:
try:
r = json.loads(f.read())
except:
pass
return r
def json2file(o, file):
with open(file, 'w', encoding='utf-8') as f:
f.write(json.dumps(o, ensure_ascii=False))
def GenTargets(path, regain=False):
files = os.listdir(path)
libFile = DEFAULT_TARGET_FILE
lib = file2json(libFile)
if lib is None or regain:
lib = []
for f in files:
if f.endswith('.json'):
chunked = file2json(os.path.join(path, f))
for q in chunked['data']['problemsetQuestionList']['questions']:
tag = []
tags = q['topicTags']
for t in tags:
tag.append(t['slug'])
try:
lib.append({
'id': int(q['frontendQuestionId']),
'title': q['titleCn'],
'paid': q['paidOnly'],
'difficulty': q['difficulty'],
'tag': tag
})
except ValueError:
pass
except Exception as e:
print(e)
if len(lib) > 0:
json2file(lib, libFile)
targets = []
for q in lib:
if q['difficulty'] == 'EASY' and q['paid'] == False \
and ('array' in q['tag'] or 'string' in q['tag']):
targets.append(q['id'])
return targets
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/neo5simple/rpicker.git
[email protected]:neo5simple/rpicker.git
neo5simple
rpicker
rpicker
master

搜索帮助