src/saberlist | ||
tests | ||
.gitignore | ||
BEATLEADER.md | ||
LICENSE | ||
pyproject.toml | ||
README.md |
playlist helper
TODO: use https://github.com/megamaz/beatsaver-python
Usage
pipx install pleb-saberlist
player_scores_by_stars
leaderboard_songs_by_stars
Examples
leaderboard_songs_by_stars
Enter the minimum starlevel to include on the playlist (Default: 6.0): 6.2
Enter the maximum starlevel to include on the playlist (Default: 6.3):
Enter the filename for the playlist (Default: SS Leaderboard 6.2★):
2024-07-09 16:06:13 DEBUG: Using selector: EpollSelector
2024-07-09 16:06:13 INFO: Fetching page 1/-1 of leaderboards
2024-07-09 16:06:13 INFO: Got 14 songs from leaderboard page 1
2024-07-09 16:06:13 INFO: Fetching page 2/3 of leaderboards
2024-07-09 16:06:14 INFO: Got 14 songs from leaderboard page 2
2024-07-09 16:06:14 INFO: Fetching page 3/3 of leaderboards
2024-07-09 16:06:14 INFO: Got 3 songs from leaderboard page 3
2024-07-09 16:06:14 INFO: Playlist written to SS Leaderboard 6.2★.bplist
Player songs by stars:
player_scores_by_stars
2024-07-09 16:07:04 DEBUG: Using selector: EpollSelector
Enter the playerid (Default: 76561199407393962):
Enter the minimum starlevel to include on the playlist (Default: 5):
Enter the maximum starlevel to include on the playlist (Default: 6.0): 5.5
Enter the filename for the playlist (Default: Replay SS 5.0★):
2024-07-09 16:07:14 INFO: Fetching page 1/-1 of player scores
2024-07-09 16:07:15 INFO: Got 100 scores from page 1
...
2024-07-09 16:07:19 INFO: Fetching page 8/9 of player scores
2024-07-09 16:07:20 INFO: Got 96 scores from page 8
2024-07-09 16:07:20 INFO: Playlist written to Replay SS 5.0★.bplist
Development
Clone the repo and install dependencies into a local virtual environment:
pip install --upgrade pip
pip install --editable .
Resources
Tips
Count results
jq '.songs | length' < playlist.bplist
Avoid printing covers in console.
jq 'del(.image)' < playlist.bplist
Find the most common mappers the player has played:
jq -r '.songs[].levelAuthorName' *.bplist | sort | uniq -c | sort -rn | head -n 10