-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New pyinstaller
GitHub Actions
#61
Conversation
Make media.Track.get() take album and metadata arguments to that media.Album.get_tracks() can directly call media.Track.get() If only 1 URL is presented by the manifest, GET it with HTTP range requests requesting.py: add three functions that generate range request headers for a given URL
Add new method: media.Track.save_artist_bio() Add new class: models.ArtistsBioResponseJSON Add new function: requesting.request_artist_bio Remove whitespace in utils.py
* First commit to do with downloading videos * Update pyproject.toml to 2023.12.4 * Comprehensive update: hls.py: Fix RequestsClient.download signature, clarify playlister() variable main.py: add logic branches for TidalVideo type passed from CLI media.py: add the request_* functions from requesting.py to do with videos; flesh out media.Video methods that get called in media.Video.get() models.py: add class TidalVideo, add TidalVideo logic to match_tidal_url() requesting.py: import VideosEndpointStreamResponseJSON and create request_video_contributors() function utils.py: add temporary_file() facsimile of tempfile.NamedTemporaryFile from upstream
* Implement playlist feature completely: Create new file, playlists.py Changes to almost every other file in order to support playlist (audio or video or both) retrieval * Format with Black
Change logger errors to logger warnings in login.load_token_from_disk() Add missing 'director' key in media.TAG_MAPPING Protect None-return of media.Track.get_stream() Bare except of media.Track.get_lyrics() Replace colon in track and video files' names (issue #13) Comment out unused fields in several models classes Add try/except for HTTP code 401 in requesting.py
In models.py, try to parse program CLI input as track first, then album In media.py, in the short circuit of Dolby Atmos or Sony 360 unavailable, make sure to set self.outfile = None
* Code structure overhaul: media.py has become too unwieldy. Individual modules will be created for track, media, video, playlist * Split media.py into {track,video,album,playlist}.py
In .github/workflows/pyapp-*: update the pyapp Cargo package to 0.14.0 In .github/workflows/pyapp-macos.yml: change artifact name to tidal-wave_{{ github.event.release.tag_name }}_py311_macos.pyapp In .github/workflows/pyapp-windows.yml: try to upload exactly-named .exe instead of *.exe in .github/workflows/pyinstaller-linux.yml: checkout with submodules, and change to checking out to submodule instead of download FFmpeg tarball in .github/workflows/python-build.yml: upload Python .wheel and .tar.gz to GitHub releases after uploading to PyPi In tidal_wave/models.py: change logic for TracksCreditsResponseJSON.{engineer,mixer} to try various metadata terms in a row; e.g. 'Mixer', 'Mixing Engineer', etc. In tidal_wave/track.py: large refactor. Split logic for metadata tags from album cover tag, as well as temporary file stream re-ordering process
New GitHub Action: pyinstaller on macOS Update all media format URL matching to allow http(s)://www.tidal.com/... Change login.validate_token to read from disk and write to disk the device_type value Edit beginning sections of README.md
Woosh! That looks fantastic! 2 min build time vs 8 min! My name is Kiril Gantchev, I'm the CEO and co-founder of FlyCI. Thanks for giving FlyCI a try. I hope you enjoy it and please feel free to reach out should you have any issues. Best Regards, |
…rkflows/pyinstaller*.py!
Hi, |
@eevan78 thank you for having pointed this out! I had not noticed that the automation had failed, so I will get it uploaded shortly. |
Hi @ebb-earl-co, Thanks for continuing to use FlyCI. We would love to feature your feedback on our website and add your project to our case studies section. It will highlight your project to our visitors and it will help us grow our community. Would you mind sharing a few thoughts? If you're OK with it, then I have a few quick questions that will help me prepare the case study:
|
This pull request brings new .yml files in .github/workflows: particularly, actions that use
pyinstaller
to create binaries containing everything thattidal-wave
needs to run: Python interpreter, Python dependencies, and an FFmpeg binary.Work on the latter continues, as the binaries compiled are still rather large, and it's not clear exactly what minimal feature set is needed for the few file formats that
tidal-wave
interacts with.