2025レースシーズン始まって、FISポイント見積システム(FPE)のデバッグを進めてます。
計算結果が大丈夫かは、小賀坂スキーの横田様に見ていただいて、ご評価してもらっています。
●夏に作ったプログラムから、バグがでてきたので、メモしておきます。
バグ名 | 内容 | プログラム修正と仕様変更 |
FIS point list の表記変更 |
2025シーズンからFIS point listページの リスト表題の年号が2024/25となっている 去年までは、2023/2024となっていたので、 解読プログラムを変更した。 |
キーイン’p’でFIS point listのインデックスを作成する。def getFIS_listPage():でページスクレーピング処理してファイルにして保存
\FIS\FIS-points-list-AL\FIS_FileSet_’+tstmp+’.csv’
このファイルを元に、手動で、リストの日付範囲と該当するFIS point listファイル名を指定した |
レース種目を間違える | 種目名の判定にバグがあってSLとGSの区別がついてなかった。if文の複数のor条件が間違っていて、全部YESになってしまっていたのを or構文を修正した。 |
競技名の表記がSLだけでなくスラロームというカタカナ表記のレースもあるので、両方は判別できるようにした。
def poicol_search(tc):内で、競技種目を判別して
その競技で使うカラム名を戻す。 |
FIS point listの日付を選び間違ってポイント誤計算 誤記した | 2024シーズンは正常だったが、12月になってからpointlistを選び間違っていた。 FIS_FileSet.csvが不適だったのと 日付適合アルゴリズムが7月1日から積算した日数で計算していてズレが発生していたため FileSet台帳の年月日文字とレース日を比較検索するアルゴリズムに変更 |
def fkey():からdef fkey1()に変更した。 同じ年の場合と年をまたぐリストの場合の処理を追加した。FIS point listの更新は毎月必ず行われていることを前提にしたアルゴリズムです。 |
男女の違いが不明なHP表記に対する対策 | 大会によって、男女の表記がなく、任意の数値でレース名を表記している場合があって、 男女の区別をするために、FIS point listのGender項目を参照にして、男女を区別してファイル名の先頭にMかWを追加した。 |
def fkey1()で、検索したデータにGenderも追加してdfファイルを作成しておく、 def ckey()で最終出力ファイル名の先頭に男子はM、女子はWをつける。Genderから決める。 |
●プログラムの構成
https://gist.github.com/dj1711572002/0c3e4d60755b02bbae2a4faf63191256
キー入力で動作を選べる。
キー入力 | 動作解説 |
a | Autoで、Slack #web-serviceチャンネルにある最新のSEIKO SPORTS LINKの結果URLをスカルプして、選手名からSAJ、FIS idを検索して、FIS point listのポイントデータを読み込んで、計算して HTMLファイルを生成してサーバーにアップして SlackへURLを返します。 |
t | 上記aを1分間隔で、実行しますが、同じURLだった場合は、実行しません。 |
s | SEIKO SPORTS LINKの指定HPをスカルプして、csvファイルに保存します。 https://seikosportslink.com/seiko/ssl/sportslink?a=portal&s=asスカルプ生ファイルは C:\FIS\SEIKO_SPORTS_LINK\df_SEIKO_’+title[0]+’_’+’pre.txt’ 出力ファイルは rdateは、競技日、titleは、競技名、 wmidは種目 C:\FIS\SEIKO_SPORTS_LINK\df_SEIKO_’+rdate+title[0]+’_’+wmid+’.csv’
|
p | FIS point list をスカルプして、リストの名称と期間範囲を表にします。
C:\FIS\FIS-points-list-AL\FIS_FileSet_’+tstmp+’.csv から手動で下記ファイルにして台帳とします。 |
h | 指定したcsvファイルをHTMLへ変換
|
c | ポイント計算 最終出力ファイルは、大文字CALpointsがついて、次に男M,女Wがついて区別 C:\FIS\CALpoints_df_cal_’+df_cal.loc[1,”Gender”]+”_”+bn
|
最終結果のcsv
CALpoints_df_cal_M_points+_df_result_df_SEIKO_20241229DOTO Series The 27th Nukabira Gensenkyo GS Race_GSpoints.csv