44 lines
1.1 KiB
Bash
44 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
# Build standalone playlist binary with PyInstaller
|
|
# Run from the playlist/ directory
|
|
|
|
pip install pyinstaller yt-dlp rich mutagen
|
|
|
|
pyinstaller \
|
|
--onefile \
|
|
--name playlist \
|
|
--hidden-import yt_dlp \
|
|
--hidden-import mutagen.id3 \
|
|
--hidden-import mutagen.mp3 \
|
|
playlist.py
|
|
|
|
echo ""
|
|
echo "Binary at: dist/playlist"
|
|
echo "Usage:"
|
|
echo " ./dist/playlist resolve my-export.csv"
|
|
echo " ./dist/playlist search my-export-playlist.md"
|
|
echo " ./dist/playlist download my-export-playlist.md"
|
|
|
|
# GUI binary (Flask + system browser, no Qt/pywebview dependency)
|
|
pip install flask
|
|
|
|
pyinstaller \
|
|
--onefile \
|
|
--name playlist-gui \
|
|
--collect-all yt_dlp \
|
|
--hidden-import mutagen.id3 \
|
|
--hidden-import mutagen.mp3 \
|
|
--hidden-import mutagen.easyid3 \
|
|
--hidden-import flask \
|
|
--hidden-import rich \
|
|
--hidden-import rich.console \
|
|
--hidden-import rich.theme \
|
|
--hidden-import tkinter \
|
|
--hidden-import tkinter.filedialog \
|
|
gui.py
|
|
|
|
echo "GUI binary at: dist/playlist-gui"
|
|
echo "Usage: ./dist/playlist-gui"
|
|
echo " Opens in your default browser at http://localhost:<PORT>"
|
|
echo " Ctrl-C to quit."
|