调整飞行闹钟的样式

This commit is contained in:
woohoo 2022-01-13 23:11:21 +08:00
parent 2149eb30a0
commit ca9665ca72
2 changed files with 87 additions and 123 deletions

186
fstock.py
View File

@ -1,19 +1,15 @@
import json
from datetime import datetime, timezone, timedelta from datetime import datetime, timezone, timedelta
from copy import deepcopy import os
import requests import requests
url = "https://yata.yt/api/v1/travel/export/" DEST_ARR = ['mex', 'cay', 'can', 'haw', 'uni', 'arg', 'swi', 'jap', 'chi', 'uae', 'sou']
resObj = requests.get(url).json() DEST_TRANS = {
tzutc_8 = timezone(timedelta(hours=8))
lastUpdate = 0
dest_arr = ['mex', 'cay', 'can', 'haw', 'uni', 'arg', 'swi', 'jap', 'chi', 'uae', 'sou']
dest_trans_dict = {
'mex': '', 'cay': '', 'can': '', 'mex': '', 'cay': '', 'can': '',
'haw': '', 'uni': '', 'arg': '', 'haw': '', 'uni': '', 'arg': '',
'swi': '', 'jap': '', 'chi': '', 'uae': '', 'sou': '', 'swi': '', 'jap': '', 'chi': '', 'uae': '', 'sou': '',
} }
valued_item = [ VALUED_ITEM_ARR = [
'Dahlia', 'Jaguar Plushie', 'Dahlia', 'Jaguar Plushie',
'Banana Orchid', 'Stingray Plushie', 'Banana Orchid', 'Stingray Plushie',
'Crocus', 'Wolverine Plushie', 'Crocus', 'Wolverine Plushie',
@ -26,7 +22,7 @@ valued_item = [
'Camel Plushie', 'Tribulus Omanense', 'Camel Plushie', 'Tribulus Omanense',
'Lion Plushie', 'African Violet', 'Xanax', 'Lion Plushie', 'African Violet', 'Xanax',
] ]
item_trans_dict = { ITEM_TRANS = {
'Dahlia': '', 'Jaguar Plushie': '', 'Dahlia': '', 'Jaguar Plushie': '',
'Banana Orchid': '', 'Stingray Plushie': '', 'Banana Orchid': '', 'Stingray Plushie': '',
'Crocus': '', 'Wolverine Plushie': '', 'Crocus': '', 'Wolverine Plushie': '',
@ -37,126 +33,86 @@ item_trans_dict = {
'Cherry Blossom': '', 'Cherry Blossom': '',
'Peony': '', 'Panda Plushie': '', 'Peony': '', 'Panda Plushie': '',
'Tribulus Omanense': '', 'Camel Plushie': '', 'Tribulus Omanense': '', 'Camel Plushie': '',
'African Violet': '', 'Lion Plushie': '', 'African Violet': '', 'Lion Plushie': '', 'Xanax': 'XAN',
} }
for dest in dest_arr: HISTORY_FILE = 'stock_hist.json'
res_update = resObj["stocks"][dest]["update"] HISTORY_EXIST = os.path.exists(HISTORY_FILE)
UTC_8 = timezone(timedelta(hours=8))
URL = "https://yata.yt/api/v1/travel/export/"
resObj = requests.get(URL).json()["stocks"]
# 更新时间
lastUpdate = 0
for dest in DEST_ARR:
res_update = resObj[dest]["update"]
if lastUpdate < res_update: if lastUpdate < res_update:
lastUpdate = res_update lastUpdate = res_update
lastUpdate = datetime.fromtimestamp(lastUpdate).astimezone(tzutc_8) lastUpdate = datetime.fromtimestamp(lastUpdate).astimezone(UTC_8)
seq = ["最后更新 %s\n" % lastUpdate.strftime('%H:%M:%S')] UPDATE_TIME_STR = lastUpdate.strftime('%H:%M:%S')
resObj = resObj["stocks"] # 整理过的对象
stockObj = {} stockObj = {}
for dest in DEST_ARR:
for dest in dest_arr:
# if resObj[dest]:
# stockObj[dest] = resObj[dest]['stocks']
arr = [] arr = []
# for f_item in stockObj[dest]:
for f_item in resObj[dest]['stocks']: for f_item in resObj[dest]['stocks']:
for v_item in valued_item: for v_item in VALUED_ITEM_ARR:
if f_item['name'] == v_item: if f_item['name'] == v_item:
arr.append(f_item) arr.append(f_item)
stockObj[dest] = arr stockObj[dest] = arr
# 删除加拿大的xan # 移除亏本的xan
for item in stockObj['can']: # 加拿大
if item['name'] == 'Xanax': index = -1
del stockObj['can'][item] for i in range(len(stockObj['can'])):
# 删除英国的xan if stockObj['can'][i]['name'] == 'Xanax':
del stockObj['uni'][3] index = i
# 删除日本的xan if index != -1:
del stockObj['uni'][3] del stockObj['can'][index]
# 英国
index = -1
for i in range(len(stockObj['uni'])):
if stockObj['uni'][i]['name'] == 'Xanax':
index = i
if index != -1:
del stockObj['uni'][index]
# 日本
index = -1
for i in range(len(stockObj['jap'])):
if stockObj['jap'][i]['name'] == 'Xanax':
index = i
if index != -1:
del stockObj['jap'][index]
for dest in dest_arr: # 读取库存历史
for f_item in stockObj[dest]: stockHistObj = {}
print() if HISTORY_EXIST:
print('历史文件存在')
with open(HISTORY_FILE, 'r') as load_f:
stockHistObj = json.load(load_f)
else:
stockHistObj['json'] = []
stockHistObj['json'].append({str(int(datetime.now().timestamp())): stockObj})
if len(stockHistObj['json']) > 100:
del stockHistObj['json'][0]
with open(HISTORY_FILE, 'w') as f:
json.dump(stockHistObj, f)
hist_arr = stockHistObj['json']
mexStock = {}
for stock in resObj["stocks"]["mex"]["stocks"]:
if "Dahlia" == stock["name"]:
mexStock["hua"] = stock["quantity"]
if "Jaguar Plushie" == stock["name"]:
mexStock["ou"] = stock["quantity"]
seq.append("墨 花%s%s\n" % (mexStock["hua"], mexStock["ou"]))
cayStock = {}
for stock in resObj["stocks"]["cay"]["stocks"]:
if "Banana Orchid" == stock["name"]:
cayStock["hua"] = stock["quantity"]
if "Stingray Plushie" == stock["name"]:
cayStock["ou"] = stock["quantity"]
seq.append("开 花%s%s\n" % (cayStock["hua"], cayStock["ou"]))
canStock = {}
for stock in resObj["stocks"]["can"]["stocks"]:
if "Crocus" == stock["name"]:
canStock["hua"] = stock["quantity"]
if "Wolverine Plushie" == stock["name"]:
canStock["ou"] = stock["quantity"]
seq.append("加 花%s%s\n" % (canStock["hua"], canStock["ou"]))
hawStock = {}
for stock in resObj["stocks"]["haw"]["stocks"]:
if "Orchid" == stock["name"]:
hawStock["hua"] = stock["quantity"]
if "Large Suitcase" == stock["name"]:
hawStock["xiang"] = stock["quantity"]
seq.append("夏 花%s%s\n" % (hawStock["hua"], hawStock["xiang"]))
ukStock = {}
for stock in resObj["stocks"]["uni"]["stocks"]:
if "Red Fox Plushie" == stock["name"]:
ukStock["Red"] = stock["quantity"]
if "Nessie Plushie" == stock["name"]:
ukStock["Nessie"] = stock["quantity"]
if "Heather" == stock["name"]:
ukStock["Heather"] = stock["quantity"]
seq.append("嘤 赤狐%s 水怪%s%s\n" % (ukStock["Red"], ukStock["Nessie"], ukStock["Heather"]))
agtStock = {}
for stock in resObj["stocks"]["arg"]["stocks"]:
if "Ceibo Flower" == stock["name"]:
agtStock["hua"] = stock["quantity"]
if "Monkey Plushie" == stock["name"]:
agtStock["ou"] = stock["quantity"]
if "Tear Gas" == stock["name"]:
agtStock["tear"] = stock["quantity"]
seq.append("阿 花%s%s%s\n" % (agtStock["hua"], agtStock["ou"], agtStock["tear"]))
swiStock = {}
for stock in resObj["stocks"]["swi"]["stocks"]:
if "Chamois Plushie" == stock["name"]:
swiStock["ou"] = stock["quantity"]
if "Edelweiss" == stock["name"]:
swiStock["hua"] = stock["quantity"]
seq.append("瑞 花%s%s\n" % (swiStock["hua"], swiStock["ou"]))
jpStock = {}
for stock in resObj["stocks"]["jap"]["stocks"]:
if "Cherry Blossom" == stock["name"]:
jpStock["hua"] = stock["quantity"]
seq.append("日 花%s\n" % jpStock["hua"])
zgStock = {}
for stock in resObj["stocks"]["chi"]["stocks"]:
if "Panda Plushie" == stock["name"]:
zgStock["ou"] = stock["quantity"]
if "Peony" == stock["name"]:
zgStock["hua"] = stock["quantity"]
seq.append("中 花%s%s\n" % (zgStock["hua"], zgStock["ou"]))
uaeStock = {}
for stock in resObj["stocks"]["uae"]["stocks"]:
if "Camel Plushie" == stock["name"]:
uaeStock["ou"] = stock["quantity"]
if "Tribulus Omanense" == stock["name"]:
uaeStock["hua"] = stock["quantity"]
seq.append("迪 花%s%s\n" % (uaeStock["hua"], uaeStock["ou"]))
nfStock = {}
for stock in resObj["stocks"]["sou"]["stocks"]:
if "Lion Plushie" == stock["name"]:
nfStock["ou"] = stock["quantity"]
if "African Violet" == stock["name"]:
nfStock["hua"] = stock["quantity"]
if "Xanax" == stock["name"]:
nfStock["xan"] = stock["quantity"]
seq.append("南 花%s%s XAN%s" % (nfStock["hua"], nfStock["ou"], nfStock["xan"]))
# 用于写入文件的列表
seq = ["更新时间: %s\n" % UPDATE_TIME_STR]
for dest in DEST_ARR:
seq_str = '%s ' % DEST_TRANS[dest]
for i in range(len(stockObj[dest])):
seq_str += '%s%s' % (ITEM_TRANS[stockObj[dest][i]['name']], stockObj[dest][i]['quantity'])
if i != len(stockObj[dest]) - 1:
seq_str += ' '
seq_str += '\n'
seq.append(seq_str)
# 写入文件
fo = open(file="stock.txt", mode="w", encoding="utf-8") fo = open(file="stock.txt", mode="w", encoding="utf-8")
fo.writelines(seq) fo.writelines(seq)
fo.close() fo.close()
print("花偶库存txt更新完成") print("花偶库存更新完成")

View File

@ -1,8 +1,8 @@
// ==UserScript== // ==UserScript==
// @lastmodified 202201130028 // @lastmodified 202201142310
// @name Torn翻译 // @name Torn翻译
// @namespace WOOH // @namespace WOOH
// @version 0.2.0113a // @version 0.2.0114a
// @description Torn UI翻译 // @description Torn UI翻译
// @author Woohoo-[2687093] sabrina_devil[2696209] // @author Woohoo-[2687093] sabrina_devil[2696209]
// @match https://www.torn.com/* // @match https://www.torn.com/*
@ -15,13 +15,18 @@
___window___.WHTRANS = true; ___window___.WHTRANS = true;
const CC_set = /[\u4e00-\u9fa5]/; const CC_set = /[\u4e00-\u9fa5]/;
const version = '0.2.0113a'; const version = '0.2.0114a';
const changelist = [ const changelist = [
{ {
todo: true, todo: true,
cont: `翻译baza npc商店、imarket、imarket搜索结果`, cont: `翻译baza npc商店、imarket、imarket搜索结果`,
}, },
{
ver: '0.2.0114a',
date: '20220114',
cont: `调整飞行闹钟的样式`,
},
{ {
ver: '0.2.0113a', ver: '0.2.0113a',
date: '20220113', date: '20220113',
@ -3801,7 +3806,7 @@ padding: 0.5em 0;
wh_trv_alarm_node.style.top = `${wh_trv_alarm.node_pos[1] || 240}px`; wh_trv_alarm_node.style.top = `${wh_trv_alarm.node_pos[1] || 240}px`;
wh_trv_alarm_node.innerHTML = `<div id="wh-trv-error"><p><b>❌ 权限错误</b><br/>点击网页内任意位置以激活闹钟</p></div> wh_trv_alarm_node.innerHTML = `<div id="wh-trv-error"><p><b>❌ 权限错误</b><br/>点击网页内任意位置以激活闹钟</p></div>
<div id="wh-trv-alarm-title"> <div id="wh-trv-alarm-title">
<div id="wh-trv-alarm-move-btn"><span></span></div> <!-- <div id="wh-trv-alarm-move-btn"><span></span></div>-->
<h5 id="wh-trv-alarm-header">飞行闹钟</h5> <h5 id="wh-trv-alarm-header">飞行闹钟</h5>
</div> </div>
<div id="wh-trv-alarm-bottom"> <div id="wh-trv-alarm-bottom">
@ -3809,7 +3814,7 @@ padding: 0.5em 0;
<p id="wh-trv-alarm-remaining"></p> <p id="wh-trv-alarm-remaining"></p>
<p><span id="wh-trv-status">飞行中...</span><span></span></p> <p><span id="wh-trv-status">飞行中...</span><span></span></p>
<div><label><input type="checkbox" ${wh_trv_alarm.enable ? 'checked ' : ' '}/> 开启闹钟</label></div> <div><label><input type="checkbox" ${wh_trv_alarm.enable ? 'checked ' : ' '}/> 开启闹钟</label></div>
<div><label>落地前响铃时长(单位): <input type="number" value="${wh_trv_alarm.alert_time || 30}" /></label><button></button></div> <div><label>落地前响铃时长(): <input type="number" value="${wh_trv_alarm.alert_time || 30}" /></label><button></button></div>
<div class="wh-trv-alarm-stop-hide"><button>停止闹钟</button></div> <div class="wh-trv-alarm-stop-hide"><button>停止闹钟</button></div>
</div> </div>
</div> </div>
@ -3825,6 +3830,7 @@ border-radius:4px;
box-shadow:#0000001f 0 0 10px 4px; box-shadow:#0000001f 0 0 10px 4px;
border:solid 1px #aaa; border:solid 1px #aaa;
z-index:100001; z-index:100001;
margin:2em;
} }
#wh-trv-alarm button{ #wh-trv-alarm button{
margin:0; margin:0;
@ -3847,14 +3853,15 @@ text-align:center;
#wh-trv-alarm-title{ #wh-trv-alarm-title{
height: 30px; height: 30px;
border-bottom: solid #aaa 1px; border-bottom: solid #aaa 1px;
cursor: move;
} }
#wh-trv-alarm-move-btn span{ /*#wh-trv-alarm-move-btn span{
background:url(/images/v2/home_main/move.svg); background:url(/images/v2/home_main/move.svg);
width: 30px; width: 30px;
height: 30px; height: 30px;
float: right; float: right;
cursor: move; cursor: move;
} }*/
h5#wh-trv-alarm-header{ h5#wh-trv-alarm-header{
height: 100%; height: 100%;
line-height: 30px; line-height: 30px;
@ -3884,7 +3891,8 @@ display:none;
$(wh_trv_alarm_node).draggable({ $(wh_trv_alarm_node).draggable({
containment: "body", containment: "body",
distance: 5, distance: 5,
handle: "#wh-trv-alarm-move-btn", handle: "#wh-trv-alarm-title",
// handle: "#wh-trv-alarm-move-btn",
stop: () => { stop: () => {
wh_trv_alarm.node_pos = [parseInt(wh_trv_alarm_node.style.left), parseInt(wh_trv_alarm_node.style.top)]; wh_trv_alarm.node_pos = [parseInt(wh_trv_alarm_node.style.left), parseInt(wh_trv_alarm_node.style.top)];
save_trv_settings(); save_trv_settings();