代码拉取完成,页面将自动刷新
import sys
import os
from dbmanager import *
from __defines__ import *
import json
def update_cdinfos(jsonpath: str, is_elec: bool, dbm: DataManager):
"""更新CD信息
Args:
jsonpath (str): json文件路径
is_elec (bool): 是否是电吉他
dbm (DataManager): 数据库管理对象
Raises:
Exception: 异常
"""
try:
with open(jsonpath, "r", encoding="utf-8") as f:
cdinfo_json = json.loads(f.read())
for week in range(1, 53):
if str(week) in cdinfo_json:
days = cdinfo_json[str(week)]
if len(days) >= 7:
start_seconds = 0
end_seconds = -1
for dayindex in reversed(range(0, 7)):
info = days[dayindex]
if len(info) >= 2:
start_seconds = info[0]
dbm.add_and_update_cdinfo(
key=build_week_day_key(week, dayindex, is_elec),
start_second=start_seconds,
end_second=end_seconds,
bpm=info[1],
)
Logger.debug(
f"{week} {dayindex} {is_elec} {start_seconds, end_seconds}, {info[0:2]}"
)
end_seconds = start_seconds - 1
else:
raise Exception("无效的数据")
except Exception as e:
Logger.warning("更新CDInfo出现异常:", e)
if "__main__" == __name__:
create_db_and_tables(DBCONNECTION)
dbm = DataManager(dbconnection=DBCONNECTION)
elec_cd_path = os.path.join(ELECTRIC_GUITAR_RESOURCES_ABS_DIR, "cd.json")
update_cdinfos(jsonpath=elec_cd_path, is_elec=True, dbm=dbm)
acou_cd_path = os.path.join(ACOUSTIC_GUITAR_RESOURCES_ABS_DIR, "cd.json")
update_cdinfos(jsonpath=acou_cd_path, is_elec=False, dbm=dbm)
dbm.commit()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。