mirror of
https://github.com/zkldi/Tachi.git
synced 2026-10-06 13:58:05 +03:00
add recent wacca charts
This also required fixing the script to respect existing songIDs and chartIDs.
This commit is contained in:
committed by
zkldi
parent
02efe6f95a
commit
0ded6da53f
@@ -17661,5 +17661,532 @@
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "77edf990ef8e7e3280459cad2d459df5b7b7c034",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "11",
|
||||
"levelNum": 11.1,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 342,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "e4d13130b92d1e7c8a6f6bed4970d7f8667e19aa",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "8",
|
||||
"levelNum": 8,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 342,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "55c6bb6dbfe3571fbf19adfacce57c3aeaa1c7a4",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "3",
|
||||
"levelNum": 3,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 342,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "1de2f7d2b3b11e9a77c9694a88c6a4b5d7ea68e1",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "13",
|
||||
"levelNum": 13.5,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 343,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "46d05a10c25829abe5af400dfb3581762171b08b",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "10",
|
||||
"levelNum": 10.5,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 343,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "851aa89816d2ef3a7a9ffb9518429970df73299e",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "4",
|
||||
"levelNum": 4,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 343,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "6e9563006e087c39da9148a43733181403e7a59e",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "12+",
|
||||
"levelNum": 12.7,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 344,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "cecc3acc951afd92dd46f3d9c9e6d9d43b1abd33",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "8",
|
||||
"levelNum": 8.6,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 344,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "9b9e955f4ee55e12c30146da526aebd0f890ccfc",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "3",
|
||||
"levelNum": 3,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 344,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "502ab5f1c1a5647aa6539f5e25862f5f6e28eb60",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "12",
|
||||
"levelNum": 12.6,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 345,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "b693625992ae937272984d96ada6966fd55419c0",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "8+",
|
||||
"levelNum": 8.7,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 345,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "ab2837bcf61022204c034b222184e4bede46b5d2",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "3",
|
||||
"levelNum": 3,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 345,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "290ca37ff14eb6d840e24e579cad33ab2476df49",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "12",
|
||||
"levelNum": 12.4,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 346,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "629b18ed41270f44bd8c20d51f378e23f9be836a",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "8",
|
||||
"levelNum": 8.3,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 346,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "385d60dcfde335a831672d5a2768dddf2c687899",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "3",
|
||||
"levelNum": 3,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 346,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "6df01a0b4b12dfd490b6773de9f127bad0b70a8f",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "13+",
|
||||
"levelNum": 13.7,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 347,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "1a3d9c2ef04d645e65411d2482e0790eed94fd18",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "11+",
|
||||
"levelNum": 11.7,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 347,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "60b50db4aac2185da5be2958a2d06d455438b2bf",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "INFERNO",
|
||||
"isPrimary": true,
|
||||
"level": "14",
|
||||
"levelNum": 14.2,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 347,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "99a9418b2656f664aed6374731aac60a625ec891",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "8",
|
||||
"levelNum": 8,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 347,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "646deb78aced40cae47a8844feead5fc2504532c",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "13",
|
||||
"levelNum": 13.2,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 348,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "356ca41312750ffd7d5572505b339de0119457e4",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "10+",
|
||||
"levelNum": 10.7,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 348,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "7e122f2fce0b362808b8614c48438ff3ab7cd256",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "INFERNO",
|
||||
"isPrimary": true,
|
||||
"level": "14",
|
||||
"levelNum": 14.1,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 348,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "a3a3d55693f2ceb25296dae8563ed086e7636ab4",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "4",
|
||||
"levelNum": 4,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 348,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "4c7eb4525c496743d038ea74e538871560920cb1",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "13",
|
||||
"levelNum": 13.4,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 349,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "a33cb31903cb4348da34f27675d609c6ce8bb90b",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "10",
|
||||
"levelNum": 10.6,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 349,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "2af6942f94f9f3ebc43e2e2312db0bfe44d2303d",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "INFERNO",
|
||||
"isPrimary": true,
|
||||
"level": "14",
|
||||
"levelNum": 14.1,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 349,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "d2340de1b9b6e5e3c1ace41dde588ea316811943",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "3",
|
||||
"levelNum": 3,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 349,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "eda02d064b2f67f37648c971eadec3a05f026107",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "EXPERT",
|
||||
"isPrimary": true,
|
||||
"level": "13",
|
||||
"levelNum": 13.4,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 350,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "bf8da4215fdcbeb68c34ee186c770251dbab1bf3",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "HARD",
|
||||
"isPrimary": true,
|
||||
"level": "10+",
|
||||
"levelNum": 10.8,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 350,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "7e0cbfbb24bff0b8a61a5d131a6699d9f9b0fb4e",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "INFERNO",
|
||||
"isPrimary": true,
|
||||
"level": "14",
|
||||
"levelNum": 14.1,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 350,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
},
|
||||
{
|
||||
"chartID": "57d4197ba25853a3fad5841294b78c5253a0cfeb",
|
||||
"data": {
|
||||
"isHot": true
|
||||
},
|
||||
"difficulty": "NORMAL",
|
||||
"isPrimary": true,
|
||||
"level": "4",
|
||||
"levelNum": 4,
|
||||
"playtype": "Single",
|
||||
"rgcID": null,
|
||||
"songID": 350,
|
||||
"tierlistInfo": {},
|
||||
"versions": [
|
||||
"reverse"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -4431,5 +4431,122 @@
|
||||
"id": 341,
|
||||
"searchTerms": [],
|
||||
"title": "Rainbow Dream"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "ギルガメッシュ(CV:大塚剛央)、千極兆司(CV:立花慎之介)、緋野天魔(CV:小野賢章)、神水鶴久遠(CV:広瀬裕也)、皇麗夢(CV:豊永利行)",
|
||||
"data": {
|
||||
"artistJP": "ギルガメッシュ(オオツカタケオ)、センゴクチョウジ(タチバナシンノスケ)、ヒノテンマ(オノケンショウ)、カミツルクオン(ヒロセユウヤ)、スメラキレイム(トヨナガトシユキ)",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "バラエティ",
|
||||
"titleJP": "ファムファタール"
|
||||
},
|
||||
"id": 342,
|
||||
"searchTerms": [],
|
||||
"title": "ファムファタール"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "餓鬼レンジャー feat. 梅田サイファー",
|
||||
"data": {
|
||||
"artistJP": "ガキレンジャーフィートウメダサイファー",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "バラエティ",
|
||||
"titleJP": "アゲナゲン"
|
||||
},
|
||||
"id": 343,
|
||||
"searchTerms": [],
|
||||
"title": "アゲナゲン"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "ゆうゆ",
|
||||
"data": {
|
||||
"artistJP": "ユウユ",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "ボカロ",
|
||||
"titleJP": "テンガク"
|
||||
},
|
||||
"id": 344,
|
||||
"searchTerms": [],
|
||||
"title": "天樂"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "supercell",
|
||||
"data": {
|
||||
"artistJP": "スーパーセル",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "ボカロ",
|
||||
"titleJP": "メルト"
|
||||
},
|
||||
"id": 345,
|
||||
"searchTerms": [],
|
||||
"title": "メルト"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "亜沙",
|
||||
"data": {
|
||||
"artistJP": "アサ",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "ボカロ",
|
||||
"titleJP": "ヨシワララメント"
|
||||
},
|
||||
"id": 346,
|
||||
"searchTerms": [],
|
||||
"title": "吉原ラメント"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "REDALiCE",
|
||||
"data": {
|
||||
"artistJP": "レッドアリス",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "TANO*C(オリジナル)",
|
||||
"titleJP": "クリムゾンテイオウ"
|
||||
},
|
||||
"id": 347,
|
||||
"searchTerms": [],
|
||||
"title": "クリムゾン帝王"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "aran",
|
||||
"data": {
|
||||
"artistJP": "アラン",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "TANO*C(オリジナル)",
|
||||
"titleJP": "エフェメラ"
|
||||
},
|
||||
"id": 348,
|
||||
"searchTerms": [],
|
||||
"title": "EPHMR"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "Laur",
|
||||
"data": {
|
||||
"artistJP": "ラウル",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "TANO*C(オリジナル)",
|
||||
"titleJP": "デンジャラアアアアス ジャングル"
|
||||
},
|
||||
"id": 349,
|
||||
"searchTerms": [],
|
||||
"title": "DANGEROOOOUS JUNGLE"
|
||||
},
|
||||
{
|
||||
"altTitles": [],
|
||||
"artist": "Kobaryo",
|
||||
"data": {
|
||||
"artistJP": "コバリョー",
|
||||
"displayVersion": "reverse",
|
||||
"genre": "TANO*C(オリジナル)",
|
||||
"titleJP": "ディメンション ハッカー"
|
||||
},
|
||||
"id": 350,
|
||||
"searchTerms": [],
|
||||
"title": "Dimension Hacker"
|
||||
}
|
||||
]
|
||||
@@ -30,8 +30,10 @@
|
||||
"deepmerge": "^4.2.2",
|
||||
"fast-json-stable-hash": "^1.0.3",
|
||||
"glob": "^7.2.0",
|
||||
"html-entities": "^2.3.2",
|
||||
"mei-logger": "^1.0.1",
|
||||
"monk": "^7.3.4",
|
||||
"node-fetch": "2.6.7",
|
||||
"prudence": "^0.9.7",
|
||||
"tachi-common": "0.5.12",
|
||||
"ts-node": "^10.4.0",
|
||||
|
||||
Generated
+35
@@ -14,8 +14,10 @@ specifiers:
|
||||
eslint-plugin-prettier: ^4.0.0
|
||||
fast-json-stable-hash: ^1.0.3
|
||||
glob: ^7.2.0
|
||||
html-entities: ^2.3.2
|
||||
mei-logger: ^1.0.1
|
||||
monk: ^7.3.4
|
||||
node-fetch: 2.6.7
|
||||
prettier: ^2.5.1
|
||||
prudence: ^0.9.7
|
||||
tachi-common: 0.5.12
|
||||
@@ -31,8 +33,10 @@ dependencies:
|
||||
deepmerge: 4.2.2
|
||||
fast-json-stable-hash: 1.0.3
|
||||
glob: 7.2.0
|
||||
html-entities: 2.3.2
|
||||
mei-logger: 1.0.1_ts-node@10.4.0
|
||||
monk: 7.3.4
|
||||
node-fetch: 2.6.7
|
||||
prudence: 0.9.7
|
||||
tachi-common: 0.5.12
|
||||
ts-node: 10.4.0_40146b36d18138e3202fbb722e5f65e4
|
||||
@@ -1603,6 +1607,10 @@ packages:
|
||||
type-fest: 0.8.1
|
||||
dev: false
|
||||
|
||||
/html-entities/2.3.2:
|
||||
resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==}
|
||||
dev: false
|
||||
|
||||
/html-escaper/2.0.2:
|
||||
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
|
||||
dev: false
|
||||
@@ -2188,6 +2196,18 @@ packages:
|
||||
resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
|
||||
dev: true
|
||||
|
||||
/node-fetch/2.6.7:
|
||||
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
|
||||
engines: {node: 4.x || >=6.0.0}
|
||||
peerDependencies:
|
||||
encoding: ^0.1.0
|
||||
peerDependenciesMeta:
|
||||
encoding:
|
||||
optional: true
|
||||
dependencies:
|
||||
whatwg-url: 5.0.0
|
||||
dev: false
|
||||
|
||||
/node-preload/0.2.1:
|
||||
resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -2954,6 +2974,10 @@ packages:
|
||||
punycode: 2.1.1
|
||||
dev: false
|
||||
|
||||
/tr46/0.0.3:
|
||||
resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=}
|
||||
dev: false
|
||||
|
||||
/triple-beam/1.3.0:
|
||||
resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==}
|
||||
dev: false
|
||||
@@ -3097,6 +3121,17 @@ packages:
|
||||
extsprintf: 1.3.0
|
||||
dev: false
|
||||
|
||||
/webidl-conversions/3.0.1:
|
||||
resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}
|
||||
dev: false
|
||||
|
||||
/whatwg-url/5.0.0:
|
||||
resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=}
|
||||
dependencies:
|
||||
tr46: 0.0.3
|
||||
webidl-conversions: 3.0.1
|
||||
dev: false
|
||||
|
||||
/which-boxed-primitive/1.0.2:
|
||||
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
|
||||
dependencies:
|
||||
|
||||
@@ -2,7 +2,7 @@ const { parse } = require("csv-parse/sync");
|
||||
const fs = require("fs");
|
||||
const fetch = require("node-fetch");
|
||||
const { Command } = require("commander");
|
||||
const { CreateChartID } = require("../util");
|
||||
const { CreateChartID, ReadCollection } = require("../util");
|
||||
const path = require("path");
|
||||
const { decode } = require("html-entities");
|
||||
const logger = require("../logger");
|
||||
@@ -51,6 +51,13 @@ const STARTS = {
|
||||
};
|
||||
|
||||
(async () => {
|
||||
const existingSongs = new Map(ReadCollection("songs-wacca.json").map(e =>
|
||||
[e.title, e.id]));
|
||||
const existingCharts = new Map(ReadCollection("charts-wacca.json").map(e =>
|
||||
// We need to combine songID and difficulty for the key,
|
||||
// this seems like the simplest way.
|
||||
[`${e.songID} ${e.difficulty}`, e.chartID]));
|
||||
|
||||
const datum = await fetch("https://wacca.marv.jp/music/search.php", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
@@ -62,7 +69,7 @@ const STARTS = {
|
||||
const songs = [];
|
||||
const charts = [];
|
||||
|
||||
let songID = 1;
|
||||
let songID = Math.max(...existingSongs.values()) + 1;
|
||||
|
||||
for (const data of datum) {
|
||||
let prettiedTitle = decode(data.title.display.replace(/ /g, " ")).trim();
|
||||
@@ -105,8 +112,14 @@ const STARTS = {
|
||||
continue;
|
||||
}
|
||||
|
||||
let thisSongID = songID;
|
||||
if (existingSongs.has(prettiedTitle)) {
|
||||
thisSongID = existingSongs.get(prettiedTitle);
|
||||
} else {
|
||||
songID++;
|
||||
}
|
||||
songs.push({
|
||||
id: songID,
|
||||
id: thisSongID,
|
||||
title: prettiedTitle,
|
||||
artist: decode(data.artist.display).trim(),
|
||||
searchTerms: [],
|
||||
@@ -129,9 +142,11 @@ const STARTS = {
|
||||
continue;
|
||||
}
|
||||
|
||||
const chartID = existingCharts.get(`${thisSongID} ${diffName}`) || CreateChartID();
|
||||
|
||||
charts.push({
|
||||
songID,
|
||||
chartID: CreateChartID(),
|
||||
songID: thisSongID,
|
||||
chartID: chartID,
|
||||
rgcID: null,
|
||||
level,
|
||||
levelNum,
|
||||
@@ -145,16 +160,9 @@ const STARTS = {
|
||||
versions: ["reverse"],
|
||||
});
|
||||
}
|
||||
|
||||
songID++;
|
||||
}
|
||||
|
||||
fs.writeFileSync(
|
||||
path.resolve(__dirname, "../../collections/charts-wacca.json"),
|
||||
JSON.stringify(charts, null, "\t")
|
||||
);
|
||||
fs.writeFileSync(
|
||||
path.resolve(__dirname, "../../collections/songs-wacca.json"),
|
||||
JSON.stringify(songs, null, "\t")
|
||||
);
|
||||
fs.writeFileSync(path.resolve(__dirname, "../../collections/charts-wacca.json"), JSON.stringify(charts, null, "\t"));
|
||||
fs.writeFileSync(path.resolve(__dirname, "../../collections/songs-wacca.json"), JSON.stringify(songs, null, "\t"));
|
||||
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user