mirror of
https://github.com/mkb79/audible-cli.git
synced 2025-04-21 21:27:08 -04:00
* Adjust get_content_metadata method in audible_cli model Updated the get_content_metadata method to accept a new parameter 'chapter_type'. This adjustment also enables passing additional request parameters via **request_kwargs, allowing for more flexible HTTP requests. * Add chapter type parameter to download chapters function The download_chapters function has been updated to include 'chapter_type' as a parameter to support different types of chapters. It also modifies the get_content_metadata method to handle the new argument. This makes API interaction more adaptive by facilitating more varied request parameters. * Update CHANGELOG.md
9.4 KiB
9.4 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Unreleased
Added
- The
--chapter-type
option is added to the download command. Chapter can now be downloaded asflat
ortree
type.tree
is the default.
Changed
- Improved podcast ignore feature in download command
- make
--ignore-podcasts
and--resolve-podcasts
options of download command mutual exclusive - Switched from a HEAD to a GET request without loading the body in the downloader class. This change improves the program's speed, as the HEAD request was taking considerably longer than a GET request on some Audible pages.
models.LibraryItem.get_content_metadatata
now accept achapter_type
argument. Additional keyword arguments to this method are now passed through the metadata request.
[0.3.1] - 2024-03-19
Bugfix
- fix a
TypeError
on some Python versions when callingimportlib.metadata.entry_points
with group argument
[0.3.0] - 2024-03-19
Added
- Added a resume feature when downloading aaxc files.
- New
downlaoder
module which contains a rework of the Downloader class. - If necessary, large audiobooks are now downloaded in parts.
- Plugin command help page now contains additional information about the source of the plugin.
- Command help text now starts with ´(P)` for plugin commands.
Changed
- Rework plugin module
- using importlib.metadata over setuptools (pkg_resources) to get entrypoints
[0.2.6] - 2023-11-16
Added
- Update marketplace choices in
manage auth-file add
command. Now all available marketplaces are listed.
Bugfix
- Avoid tqdm progress bar interruption by logger’s output to console.
- Fixing an issue with unawaited coroutines when the download command exited abnormal.
Changed
- Update httpx version range to >=0.23.3 and <0.26.0.
Misc
- add
freeze_support
to pyinstaller entry script (#78)
[0.2.5] - 2023-09-26
Added
- Dynamically load available marketplaces from the
audible package
. Allows to implement a new marketplace without updatingaudible-cli
.
[0.2.4] - 2022-09-21
Added
- Allow download multiple cover sizes at once. Each cover size must be provided with the
--cover-size
option
Changed
- Rework start_date and end_date option
Bugfix
- In some cases, the purchase date is None. This results in an exception. Now check for purchase date or date added and skip, if date is missing
[0.2.3] - 2022-09-06
Added
--start-date
and--end-date
option todownload
command--start-date
and--end-date
option tolibrary export
andlibrary list
command- better error handling for license requests
- verify that a download link is valid
- make sure an item is published before downloading the aax, aaxc or pdf file
--ignore-errors
flag of the download command now continue, if an item failed to download
[0.2.2] - 2022-08-09
Bugfix
- PDFs could not be found using the download command (#112)
[0.2.1] - 2022-07-29
Added
library
command now outputs theextended_product_description
field
Changed
- by default a licenserequest (voucher) will not include chapter information by default
- moved licenserequest part from
models.LibraryItem.get_aaxc_url
to its ownmodels.LibraryItem.get_license
function - allow book tiltes with hyphens (#96)
- if there is no title fallback to an empty string (#98)
- reduce
response_groups
for the download command to speed up fetching the library (#109)
Fixed
Extreme
quality is not supported by the Audible API anymore (#107)- download command continued execution after error (#104)
- Currently paths with dots will break the decryption (#97)
models.Library.from_api_full_sync
calledmodels.Library.from_api
with incorrect keyword arguments
Misc
- reworked
cmd_remove-encryption
plugin command (e.g. support nested chapters, use chapter file for aaxc files) - added explanation in README.md for creating a second profile
[0.2.0] - 2022-06-01
Added
--aax-fallback
option todownload
command to download books in aax format and fallback to aaxc, if the book is not available as aax--annotation
option todownload
command to get bookmarks and notesquestionary
package to dependenciesadd
andremove
subcommands to wishlistfull_response_callback
toutils
export_to_csv
toutils
run_async
todecorators
pass_client
todecorators
profile_option
todecorators
password_option
todecorators
timeout_option
todecorators
bunch_size_option
todecorators
ConfigFile.get_profile_option
get the value for an option for a given profileSession.selected.profile
to get the profile name for the current sessionSession.get_auth_for_profile
to get an auth file for a given profilemodels.BaseItem.create_base_filename
to build a filename in given modemodels.LibraryItem.get_annotations
to get annotations for a library item
Changed
- bump
audible
to v0.8.2 to fix a bug in httpx - rework plugin examples in
plugin_cmds
- rename
config.Config
toconfig.ConfigFile
- move
click_verbosity_logger
from_logging
todecorators
and rename it toverbosity_option
- move
wrap_async
fromutils
todecorators
- move
add_param_to_session
fromconfig
todecorators
- move
pass_session
fromconfig
todecorators
download
command let you now select items when using--title
option
Fixed
- the
library export
andwishlist export
command will now export tocsv
correctly
[0.1.3] - 2022-03-27
Bugfix
- fix a bug with the registration url
[0.1.2] - 2022-03-27
Bugfix
- bump Audible to v0.7.1 to fix a bug when register a new device with pre-Amazon account
[0.1.1] - 2022-03-20
Added
- the
--version
option now checks if an update foraudible-cli
is available - build macOS releases in onedir mode
Bugfix
- fix a bug where counting an item if the download fails
- fix an issue where some items could not be downloaded do tue wrong content type
- fix an issue where an aax downloaded failed with a
codec doesn't support full file assembly
message
[0.1.0] - 2022-03-11
Added
- add the
api
command to make requests to the AudibleAPI - a counter of downloaded items for the download command
- the
--verbosity/-v
option; default is INFO - the
--bunch-size
option to the download, library export and library list subcommand; this is only needed on slow internet connections wishlist
subcommand- the
--resolve-podcasts
flag to download subcommand; all episodes of a podcast will be fetched at startup, so a single episode can be searched via his title or asin - the
--ignore-podcasts
flag to download subcommand; if a podcast contains multiple episodes, the podcast will be ignored - the
models.Library.resolve_podcasts
method to append all podcast episodes to given library. - the
models.LibraryItem.get_child_items
method to get all episodes of a podcast item or parts for a MultiPartBook. - the
models.BaseItem
now holds a list ofresponse_groups
in the_response_groups
attribute. - the
--format
option tolibrary export
subcommand - the
models.Catalog
class - the
models.Library.from_api_full_sync
method to fetch the full library
Changed
- the
--aaxc
flag of the download command now try to check if a voucher file exists before alicenserequest
is make (issue #60) - the
--aaxc
flag of the download command now downloads mp3/m4a files if theaaxc
format is not available and thelicenserequest
offers this formats - the
download
subcommand now download podcasts - Remove sync code where async code are available. All plugins should take care about this!!!
- Bump
audible
to v0.7.0 - rebuild
models.LibraryItem.get_aax_url
to build the aax download url in another way models.BaseItem.full_title
now contains publication name for podcast episodesmodels.LibraryItem
now checks the customer rights when callingLibraryItem._is_downloadable
models.BaseItem
andmodels.BaseList
now holds theapi_client
instead thelocale
andauth
- rename
models.Wishlist.get_from_api
tomodels.Wishlist.from_api
- rename
models.Library.get_from_api
tomodels.Library.from_api
; this method does not fetch the full library for now
Misc
- bump click to v8
Bugfix
- removing an error using the
--output
option of thelibrary export
command - fixing some other bugs
[0.0.9] - 2022-01-18
Bugfix
- bugfix error adding/removing auth file
[0.0.8] - 2022-01-15
Bugfix
- bugfix errors in utils.py
[0.0.7] - 2022-01-15
Bugfix
- utils.py: Downloading pdf files was broken. Downloader now follows a redirect when downloading a file.
Added
- Add spec file to create binary with pyinstaller
- Add binary for some platforms
- Add timeout option to download command
Changed
- models.py: If no supported codec is found when downloading aax files, no url is returned now.
- utils.py: Downloading a file with the
Downloader
class now checks the response status code, the content type and compares the file size. - models.py: Now all books are fetched if the library is greater than 1000. This works for the download and library command.
[0.0.6] - 2022-01-07
Bugfix
- cmd_library.py: If library does not contain a cover url, audible-cli has raised an Exception. Now the cover url field will set to '-' if no cover url is available.