Skip to content
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

Build Pyapp artifacts with GitHub Actions #35

Merged
merged 72 commits into from
Jan 6, 2024
Merged

Build Pyapp artifacts with GitHub Actions #35

merged 72 commits into from
Jan 6, 2024

Conversation

ebb-earl-co
Copy link
Owner

This pull request brings in some new YAML files into .github/workflows. The idea is to have GitHub automatically create the release artifacts (using pyapp) and upload them as release artifacts.

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
@ebb-earl-co ebb-earl-co added the enhancement New feature or request label Jan 6, 2024
@ebb-earl-co ebb-earl-co self-assigned this Jan 6, 2024
@ebb-earl-co
Copy link
Owner Author

🤞 these workflows are useful and obviate the need to create separate Pyapp executables, especially on Windows!

@ebb-earl-co ebb-earl-co merged commit 10a9beb into trunk Jan 6, 2024
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant