In some cases, requesting a download url with the new method fails. It
will give a url but with a wrong codec. These url result in an error,
when downloading these files.
As a workaround I've added the old download url creation method. This
will work until I found a better method!
# 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 of `response_groups` in the `_response_groups` attribute.
- the`--format` option to `library 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 a `licenserequest` is make (issue #60)
- the `--aaxc` flag of the download command now downloads mp3/m4a files if the `aaxc` format is not available and the `licenserequest` 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 episodes
- `models.LibraryItem` now checks the customer rights when calling `LibraryItem._is_downloadable`
- `models.BaseItem` and `models.BaseList` now holds the `api_client` instead the `locale` and `auth`
- rename `models.Wishlist.get_from_api` to `models.Wishlist.from_api`
- rename `models.Library.get_from_api` to `models.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 the `library export` command
- fixing some other bugs
* Skip overwrite voucher file if existing
* changing activation_bytes command behavior
- remove `save` flag
- add `reload` flag
- informational messages are now print to stderr
The command will now save fetched activation bytes to auth file and
will reload it from file. Using `reload` flag will fetch activation
bytes again.
* message handling of download command
Some information messages are now printed out to stderr
* prevent issues when using external login (importing readline module)
* set minimum click version to 7
* bugfixes
These PR contains a filename mode options when using the `audible download` command.
It can be used in these ways and order:
1. Using `audible download ... --filename-mode ***`
2. Add the `filename_mode` option to the profile section of the config file (using `audible manage config edit`) to use it with these profile.
3. Add the `filename_mode` option to the APP section of the config file (using `audible manage config edit`) to use it on all profiles.
4. If no setting is provided, the `ascii` mode is used (like before)
The filename mode supports these values:
- ascii: Same filename mode like before these changes
- asin_ascii: Add the asin of the book and a underscore before the ascii filename
- unicode: Using a unicode filename scheme.
- asin_unicode: Like unicode but add the asin of the book and a underscore before