From 024e6e6381c3c83ed8968e782fdef46056f82449 Mon Sep 17 00:00:00 2001 From: Ren Adachi <49895682+moeyashi@users.noreply.github.com> Date: Wed, 20 Mar 2024 22:48:30 +0900 Subject: [PATCH] =?UTF-8?q?fix(wr-python):=20=E5=8B=95=E7=94=BB=E3=83=AA?= =?UTF-8?q?=E3=83=B3=E3=82=AF=E3=82=92=E5=8F=96=E5=BE=97=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=82=B9=E3=81=AB=E5=AF=BE=E5=BF=9C=20#62?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ren Adachi <49895682+moeyashi@users.noreply.github.com> --- src/const/track.js | 4 ++-- src/const/track.test.js | 19 ++++++++++++++----- wr-python/src/wr_python/LeaderBoard.py | 4 ++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/const/track.js b/src/const/track.js index 8299a4e..6f02c44 100644 --- a/src/const/track.js +++ b/src/const/track.js @@ -74,7 +74,7 @@ const trackDict = Object.freeze({ dSBS: makeTrack('リンリンメトロ', 'dSBS', 144599, 'https://www.youtube.com/watch?v=Y7_nJLQsTyY', 144599, ['リンメト', 'SBS']), dBB: makeTrack('ビッグブルー', 'dBB', 126165, 'https://youtu.be/uh3BxtUdo1I', 125983, ['BB', 'ビックブルー']), bPP: makeTrack('Tour パリプロムナード', 'bPP', 151756, 'https://www.youtube.com/watch?v=KWsuSpC-VMA', 151539, ['パリ', 'パリプロムナード', 'PP']), - bTC: makeTrack('3DS キノピオサーキット', 'bTC', 124337, '', 124307, ['キノサ', 'キノピオサーキット', 'TC']), + bTC: makeTrack('3DS キノピオサーキット', 'bTC', 124337, 'https://vt.tiktok.com/ZSNTHB93V', 124307, ['キノサ', 'キノピオサーキット', 'TC']), bCMo: makeTrack('N64 チョコマウンテン', 'bCMo', 154347, 'https://www.youtube.com/watch?v=Yl7EVR0ecm0', 154347, ['チョコマ', 'チョコマウンテン', 'CMo']), bCMa: makeTrack('Wii ココナッツモール', 'bCMa', 144141, 'https://youtu.be/M7m0XG5Y8lY', 144141, ['ココモ', 'ココナッツモール', 'CMa']), bTB: makeTrack('Tour トーキョースクランブル', 'bTB', 127806, 'https://www.youtube.com/watch?v=9CxetJwDksI', 127522, ['東京', 'トーキョー', 'トーキョースクランブル', 'TB']), @@ -85,7 +85,7 @@ const trackDict = Object.freeze({ bMC3: makeTrack('SFC マリオサーキット3', 'bMC3', 135884, 'https://youtu.be/s0FHggDszt4', 135884, ['SFCマリオサーキット3', 'SFCマリオサーキット', 'マリオサーキット3', 'マリサ3', 'SFCマリサ', 'SFCマリサ3', 'MC3']), bKD: makeTrack('N64 カラカラさばく', 'bKD', 133895, 'https://youtu.be/NiBYq118t8c', 133844, ['N64カラカラさばく', '64カラカラさばく', '64カラサバ', 'KD']), bWP: makeTrack('DS ワルイージピンボール', 'bWP', 220832, 'https://www.youtube.com/watch?v=jtlc-CgGd9U', 220832, ['ワルピン', 'ワルイージピンボール']), - bSS: makeTrack('Tour シドニーサンシャイン', 'bSS', 203216, '', 203216, ['シドニー', 'シドニーサンシャイン', 'SS']), + bSS: makeTrack('Tour シドニーサンシャイン', 'bSS', 203216, 'https://youtube.com/watch?v=n_XAXMnFFJ4&si=3KusyNgrMHVCnPns', 203216, ['シドニー', 'シドニーサンシャイン', 'SS']), bSL: makeTrack('GBA スノーランド', 'bSL', 137009, 'https://www.youtube.com/watch?v=5FHD4FrCxyQ', 136568, ['スノラン', 'スノーランド']), bMG: makeTrack('Wii キノコキャニオン', 'bMG', 135837, 'https://www.youtube.com/watch?v=OnyzC_FlWAA', 135837, ['キノキャニ', 'キノコキャニオン', 'MG']), bSHS: makeTrack('アイスビルディング', 'bSHS', 156878, 'https://youtu.be/6ECo9K3m32I', 155364, ['アイス', 'アイビル', 'SHS']), diff --git a/src/const/track.test.js b/src/const/track.test.js index 6991d82..fb735ba 100644 --- a/src/const/track.test.js +++ b/src/const/track.test.js @@ -298,11 +298,20 @@ describe('trackCodeSet', () => { }); describe('getByCode', () => { - test.each(Array.from(trackCodeSet))('getByCode(%s)がWRを0以上の値をもつ', (code) => { + describe.each(Array.from(trackCodeSet))('%sを取得した場合', (code) => { const track = getByCode(code); - expect(track).not.toBeNull(); - expect(track.code).toEqual(code); - expect(track.nitaVSWRMilliseconds).toBeGreaterThan(0); - expect(track.nitaAllCombinationWRMilliseconds).toBeGreaterThan(0); + test('nullでない', () => { + expect(track).not.toBeNull(); + }); + test('codeが一致する', () => { + expect(track.code).toEqual(code); + }); + test('WRが0以上の値をもつ', () => { + expect(track.nitaVSWRMilliseconds).toBeGreaterThan(0); + expect(track.nitaAllCombinationWRMilliseconds).toBeGreaterThan(0); + }); + test('nitaVSWRUrlがhttpから始まる', () => { + expect(track.nitaVSWRUrl).toMatch(/^http/); + }); }); }); diff --git a/wr-python/src/wr_python/LeaderBoard.py b/wr-python/src/wr_python/LeaderBoard.py index 7e7e74b..d35c6c5 100644 --- a/wr-python/src/wr_python/LeaderBoard.py +++ b/wr-python/src/wr_python/LeaderBoard.py @@ -8,8 +8,8 @@ class LeaderBoard: # スプレッドシートのURL url = r"https://docs.google.com/spreadsheets/d/e/2PACX-1vRBXBdqpurvBmR--bzj9RJmgr7HxAoWVZmlwmhaBK-LYf_BbXn8iAPdH-ogBtXiAwxlTkQgn45PkeRW/pubhtml?gid=0&single=true" - # hrefからyoutubeリンクを抽出するための正規表現 - pattern = r'(https://www\.youtube\.com/watch\?v%3D[^&]*|https://youtu\.be/[^\?&]*)' + # hrefから動画リンクを抽出するための正規表現 + pattern = r'(https://(www\.)?youtube\.com/watch\?v%3D[^&]*|https://youtu\.be/[^\?&]*|https://vt\.tiktok\.com/[^/\?&]*)' def __init__(self): response = requests.get(self.url)