42 APIで遊ぶためのスクリプト集。
- Python >= 3.8
- Poetry
- 42 APIのUID, Secret
-
リポジトリをclone
git clone https://github.com/nafuka11/ft-api-scripts.git
-
必要なパッケージをインストール
cd ft-api-scripts poetry install --no-root
-
.env
に42 APIのclient UID, Secretを記載する。.env.example
を.env
としてコピーし、cp .env.example .env
.env
内のyour_uid
とyour_secret
をご自身のUID, Secretに書き換えてください。
poetry run python srcs/scale_teams.py -h
campus_id=26, cursus_id=21,28,50, range[begin_at]="2020-06-22T02:00:00.000Z,2042-12-31T23:59:59.999Z"のscale_teamsのデータをjsonに保存
poetry run python srcs/scale_teams.py dump --campus_id 26 --cursus_id 21 28 50 --begin_at 2020-06-22T02:00:00.000Z 2042-12-31T23:59:59.999Z
scale_teamsのjsonから、login毎のレビュー数をcsv出力
poetry run python srcs/scale_teams.py count scale_teams_yyyymmdd-HHMM.json
csvを元にヒストグラム作成
poetry run python srcs/scale_teams.py visualize correctors.csv
poetry run python srcs/user_scale_teams.py -h
login=your_login, cursus_id=21,28,50のscale_teamsのデータをjsonに保存
poetry run python srcs/user_scale_teams.py dump --cursus_id 21 28 50 -- your_login
scale_teamsのjsonから、login=your_loginが付けた/付けられたflagを表示
poetry run python srcs/user_scale_teams.py count your_login user_scale_teams_your_login_yyyymmdd-HHMM.json
poetry run python srcs/campus.py -h
cursus_id=21, range[begin_at]="2021-01-01T00:00:00.000Z,2042-12-31T23:59:59.999Z" の cursus_users のデータを取得
poetry run python srcs/campus.py dump --cursus_id 21 --begin_at 2021-01-01T00:00:00.000Z 2042-12-31T23:59:59.999Z
- 以下のファイルが出力されます。
campus.json
cursus_users_cursusid_{cursusid}_campusid_{campusid}.json
cursus_users_cursusid_21_campusid_*.json
からBH率をカウントする
poetry run python srcs/campus.py count data/campus.json data/cursus_users_cursusid_21_campusid_*.json
- 以下のファイルが出力されます。
campus_blackholed.csv
- begin_atが現在より前の学生の中で、blackholed_atまたはend_atが現在より前の学生を、BHに吸い込まれた扱いにしています。
campus_blackholed.csv
からBH率と学生数を表示する
poetry run python srcs/campus.py visualize data/campus_blackholed.csv
- 学生数が15より多いcampusを表示します。
poetry run python srcs/events.py -h
campus_id=26, cursus_id=21, event名に AMA
を含むイベントをcsvファイルに保存
poetry run python srcs/events.py 26 21 --name AMA