Commit graph

50 commits

Author SHA1 Message Date
mkb79
48946ab8b8
feat: Add option to download flat chapters (#200)
* 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
2024-03-31 11:55:23 +02:00
mkb79
513b97a3cc
refactor: downloader head request (#196)
* Replace HEAD request with faster GET request in downloader

Switched from a HEAD to a GET request without loading the body in the get_head_response method. This change improves the program's speed, as the HEAD request was taking considerably longer than a GET request to the same URI.

* Update CHANGELOG.md
2024-03-24 22:58:59 +01:00
mkb79
45bd5820ad
refactor: rework skip podcast options of download command (#195)
* Improve podcast ignore feature in downloader

Added conditional code in the cmd_download.py file to ignore any items that are parent podcasts if the ignore_podcasts flag is set. This allows users to choose whether or not they want to download podcasts.

* Prevent mixing resolve and ignore podcasts options

Added a check in cmd_download.py to prevent combining both "resolve_podcasts" and "ignore_podcasts" options. A flag was added that aborts the process if both options are activated at once. Additionally, enhanced the feature to ignore parent podcasts during download, if "ignore_podcasts" flag is set.

* Update CHANGELOG.md
2024-03-24 22:53:41 +01:00
mkb79
707a4b9192
Release v0.3.1 2024-03-19 23:25:15 +01:00
mkb79
d6ce4041d8
fix: Fix TypeError on some Python versions (#191) 2024-03-19 23:21:24 +01:00
mkb79
0fa4dfc931
Release v0.3.0 2024-03-19 22:26:51 +01:00
mkb79
87bedc1080
refactor: rework plugin module (#189)
* refactor: rework plugin module

- using importlib.metadata over setuptools (pkg_resources) to get entrypoints
- help text now starts with ´(P)` for plugin commands
- plugin command help page now contains additional information about the source of the plugin
2024-03-19 20:32:19 +01:00
mkb79
ce8f59b732
feat: downloading large audiobooks (#178)
* catch asyncio.CancelledError

* add download parts feature

* fix downloading book in parts

* fix aax_fallback

* Update default timeout value to 30

* Refactor check_status_for_message function

* rework is_published method to take care about AudioPartd

* update cmd_download.py

* Update CHANGELOG.md
2024-01-29 11:44:01 +01:00
mkb79
385f353403
feat: Add a resume feature for aaxc file (#164)
* Add a resume feature for aaxc file

* rework downloader class

* add additional message

* forgot to reduce MAX_FILE_READ_SIZE to 3 MB

* Rework downloader module

* Update CHANGELOG.md
2024-01-19 08:23:45 +01:00
mkb79
1bfbf72f66
doc: fix CHANGELOG.md 2023-11-16 14:02:16 +01:00
mkb79
d463dbae94
Release v0.2.6 2023-11-16 13:55:54 +01:00
mkb79
e996fb619d
Update httpx version range to >=0.23.3 and <0.26.0 2023-11-16 13:38:54 +01:00
mkb79
8f8eacf324
fix: Fixing an issue with unawaited coroutines (#166)
Fixing an issue with unawaited coroutines when the download command exited abnormal.

* Refactor consume function and queue_job function

* doc: Update CHANGELOG.md
2023-11-15 10:58:37 +01:00
mkb79
cda40c62d7
fix: Fix progressbar issue (#165)
* fix: Avoid tqdm progress bar interruption

Avoid tqdm progress bar interruption by logger's output to console

* doc: Update CHANGELOG.md
2023-11-15 07:52:49 +01:00
mkb79
72b4ff916f
add freeze_support to pyinstaller entry script (#162)
* fix: add freeze_support to pyinstaller entryscript

* docs: update CHANGELOG.md
2023-11-08 22:08:25 +01:00
mkb79
275a2b2b77
Update marketplace choices in manage command (#161)
* Update marketplace choices in `manage auth-file add` command

* docs: update CHANGELOG.md
2023-11-08 22:05:22 +01:00
mkb79
69504d6205
feat: load marketplaces dynamically from audible package (#157)
* feat: dynamically load available marketplaces

* docs: modify CHANGELOG

* build: bump version 0.2.4 > 0.2.5
2023-09-26 20:22:23 +02:00
mkb79
6af331f43a
Release v0.2.4 2022-09-21 13:33:46 +02:00
mkb79
c1b2d1db52
rework start_date and end_date option (#124) 2022-09-19 14:14:57 +02:00
mkb79
1318c6d7d1
Add support to download multiple cover sizes 2022-09-07 12:42:16 +02:00
mkb79
cf17c05c7e Update CHANGELOG.md 2022-09-06 21:31:43 +02:00
mkb79
0924df43b0
Extend download command and other optimizations
- check a download link before reuse them
- `--ignore-errors` flag of the download command will now continue if on item failed to download
- add the `--start-date` and `--end-date` option to the `library list` and `library export` command
- make sure an item is published before downloading the aax, aaxc or pdf file
2022-09-06 21:13:16 +02:00
mkb79
107fc75f36
Update CHANGELOG.md 2022-09-01 17:53:10 +02:00
mkb79
5390a4fea1
Update CHANGELOG.md 2022-08-31 20:55:52 +02:00
mkb79
09c0b00d69
better error handling for license requests 2022-08-31 08:30:58 +02:00
mkb79
e6808c33dd
release v0.2.2 2022-08-09 08:41:18 +02:00
mkb79
0ae303f181
Bugfix: PDFs could not be downloaded using the download command (#112) 2022-08-08 18:10:59 +02:00
mkb79
94e2d9a713
Release v0.2.1 2022-07-29 16:55:10 +02:00
mkb79
e9f6870295
update CHANGELOG.md 2022-07-27 04:57:09 +02:00
mkb79
4bfe54a23f
update CHANGELOG.md 2022-07-26 09:48:37 +02:00
mkb79
d75f397219
update CHANGELOG.md 2022-07-25 13:28:06 +02:00
mkb79
755240d132
licenserequest (voucher) will not request chapter by default #92 2022-06-05 21:19:48 +02:00
mkb79
6061615b23 release v0.2.0 2022-06-01 16:08:26 +02:00
mkb79
90707a8817
v0.2 (#80)
# Added

- `--aax-fallback` option to `download` command to download books in aax format and fallback to aaxc, if the book is not available as aax
- `--annotation` option to `download` command to get bookmarks and notes
- `questionary` package to dependencies
- `add` and `remove` subcommands to wishlist
- `full_response_callback` to `utils`
- `export_to_csv` to `utils`
- `run_async` to `decorators`
- `pass_client` to `decorators`
- `profile_option` to `decorators`
- `password_option` to `decorators`
- `timeout_option` to `decorators`
- `bunch_size_option` to `decorators`
- `ConfigFile.get_profile_option` get the value for an option for a given profile
- `Session.selected.profile` to get the profile name for the current session
- `Session.get_auth_for_profile` to get an auth file for a given profile
- `models.BaseItem.create_base_filename` to build a filename in given mode
- `models.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` to `config.ConfigFile`
- move `click_verbosity_logger` from `_logging` to `decorators` and rename it to `verbosity_option`
- move `wrap_async` from `utils` to `decorators`
- move `add_param_to_session` from `config` to `decorators`
- move `pass_session` from `config` to `decorators`
- `download` command let you now select items when using `--title` option

# Fixed

- the `library export` and `wishlist export` command will now export to `csv` correctly
2022-05-25 14:56:41 +02:00
mkb79
740ccf7f3b
release v0.1.3 2022-03-27 20:08:31 +02:00
mkb79
8537001a79 bump version to v0.1.2 2022-03-27 19:40:54 +02:00
mkb79
93b67d2157
release v0.1.1 2022-03-20 20:43:48 +01:00
mkb79
7d5607357b
Update CHANGELOG.md and bump dev version 2022-03-18 11:37:11 +01:00
mkb79
5f0b9dfab9 add update-check command 2022-03-11 22:12:00 +01:00
mkb79
99d6d8f854
bump version to v0.1.0 2022-03-11 08:47:50 +01:00
mkb79
5492a8ae13
v0.1.0 (#59)
# 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
2022-03-11 08:44:02 +01:00
mkb79
4ade6261cf
Bump audible to v0.0.7 2022-01-26 06:38:30 +01:00
mkb79
9bc65323cc
Release v0.0.9 2022-01-18 13:52:01 +01:00
mkb79
4b23a47d40 Bugfix errors and bump version 2022-01-15 13:04:15 +01:00
mkb79
9eb166b6b7 Bump version to 0.0.7 2022-01-15 12:38:21 +01:00
mkb79
586e16732e
Update Download process 2022-01-13 23:11:08 +01:00
mkb79
636ae0c405
Add timeout option to download command 2022-01-13 15:28:01 +01:00
mkb79
28bd2808a8 Add binary for win and spec file for pyinstaller 2022-01-13 09:11:55 +01:00
mkb79
c8b72b658a Fetching all books if library is greater than 1000 2022-01-12 10:28:53 +01:00
mkb79
44b0594389
Detect if a file can not be downloaded (#48)
* Skip download of aax file if codec is not supported
* Error detection when downloading files
* Create CHANGELOG.md
2022-01-12 08:19:31 +01:00