- Adds a replacement rule for
"
smd
entry point for convenience.SMD
will still work
- Chapter hash and page names are now at
/at-home
- Mangadex works again (doesn't fetch groups separately any more)
- Changing a replacement rule with no string given now sets it to " " which is in line with the default rules
- Add support for Manganelo links for Manganato (this might change at any point)
- The default replacement rules change to space instead of nothing
- Better flake8 rule selection
- Manganelo changed name to Manganato
- Crash caused by outdated urllib3
- Crash when getting some mangadex covers
- Mangadex covers (they also now respect the data saver option)
- Rate limiting not actually working as it should
- Better message on rate limit error
- Mangadex results are now also sorted by volume (should help a bit with anthologies)
cover_url
renamed tocovers
- mangadex language selection (API changed the query parameter)
- Typo that would cause crash if downloader was ran directly
- Very slight help message changes
- Code moved to follow black formatting
- Added flake8 with plugins to catch mistakes
- Started using isort to automatically sort imports
- Added
requirements-dev.txt
- Migrated to the new Mangadex API
- Slight output changes
- Downloader will now exit with status code 1 if config has a invalid language code
- MD@Home setting
- Data saving setting
conf --data-saver
that will download the lower quality images (off by default) --data-saver {yes(y),no(n)}
flag fordown
andupdate
that overwrites the data saver setting in the config filedown --language
andupdate --language
arguments that allow to overwrite the config language setting
- Mangadex no longer says that there's been an error when no chapters found matching the criteria but just prints that none were found
- Crash on python 3.6 because of unsupported
required
keyword argument inadd_subparsers
- MD@Home setting
- basic config validation
- mangakakalot crash
- crash when the link points to a non existing manga
- Mangadex module now also works with URLs like
/manga/ID
- downloader now checks the chapters in ascending order (won't effect much)
- downloader now asks for a new chapter number if it's already taken (fixes #21, might cause unexpected behaviour with
-c/--check
or-i/--ignore-input
)
- version check now properly compares to the newest version
- removed dot from cover filename for mangadex
- migrated to the Mangadex V2 API
- downloader will now get all available covers (only mangadex supports this for now)
- if manga is tracked the tracked title will be used instead of the fetched one
- title is now determined in order of: custom name > tracked title > fetched title
- you can now use a tracked title as a download target in down mode
- new
conf --change-name
argument for changing the title of tracked manga - when renaming tracked manga downloader will ask if it should rename old files
- new
conf -n/--name
argument to allow adding manga to tracked with a custom name (should not be used when adding multiple manga) - character replacement list for titles, by default replaces
/ \ | ? > < . : ? *
with nothing (just removes them) - new conf arguments for the replacement rules (
--rule-reset/--rule-print/--rule-add/--rule-remove
)
- help message changed to fit new functionality
- changed all long argument to use "-" instead of "_"
- config will now look for the environment variable
XDG_CONFIG_HOME
before defaulting to~/.config
- white space removed from beginning and end of titles (only really matters for custom titles)
- downloader no longer catches all exceptions (oops)
- Manga Plus releases not being handled correctly
- mangaseeonline support, site now requires JS to work
- internal stuff
- manganelo and mangakakalot image downloads no longer fail because of cloudflare
- fixed crash if manga had "/" in title, now is replaced with "╱"
-i/--ignore_input
and-c/--check
are now mutually exclusive- removed titles from mangadex links
conf -r/--remove-tracked
uses the site regex to check if link can be shortened (for now only mangadex benefits from this)- preserved order of input for
down
,conf -a/--add-tracked
- more verbose output for
conf -r/--remove-tracked
if argument is not tracked -a/--add-tracked
and-r/--remove-tracked
are now mutually exclusive giving an error instead of just doing one-s/--save-directory
now prints a confirmation that the directory got changed- config is now always saved after KeyboardInterrupt
- failing to load config will result in exit code 1
- all site modules now inherit from BaseManga
- all site modules now create a single
requests.Session()
used by all instances of it - argument parsing moved to it's own module
- argument parser and config parser moved out of modules directory
- better checking if manga in tracked
- using regex to find module for link allowing for nicer module importing
- functions for setting
BaseManga
attributes added for clarity
down -c/--check
to only check for what's available without downloading or asking for input-i/--ignore_input
for both down and update mode, downloader will not ask for input but will start downloadingupdate -d/--directory
to change download directory
- use sets instead of lists to remove duplicates from arguments
- additional and more verbose exception handling
- crash when trying to reset config
- spelling mistakes
- Manganelo chapters with no chapter number will now ask for one
- a failed page download now shows the reason
page_download_timeout
setting to change the timeout for downloading images (in seconds)conf --timeout
to change the timeout settingdown
now accepts int to download manga from the tracked list with the given index- Keyboard Interruptions are now caught
update -c/--check
to only check for new chapters without downloading or needing inputversion
mode, prints the current versionversion -c/--check
checks if a new version is available
- removed heaven manga support because it constantly keeps creating new problems (domain changes, cloudflare problems)
- removed cfscrape from the requirements (this also removes the node.js dependency)
-v/--version
flag, replaced by version mode
- config and args variables changed back to globals to avoid passing them around all the time
conf -p
now prints the absolute path (only matters when using a custom config path)- config_parser now properly creates a dict for the tracked manga if no config was present
- mangadex is back to it's .org domain (.cc links will still work)
- mangadex language code selection
conf --list_lang
to list available codesconf --change_lang
to change the languageSMD -v (--version)
prints current version- deletes failed chapters
- the "to download" and after download summaries now include chapter titles when possible
- help message improvements
- moved config file to
~/.config/SMD
- default download folder changed to
~/Manga
- config file always gets created
conf -p (--print_conf)
now prints all settingsdown
mode now requires a link- downloader will abort if config failed to load
- manganelo moved to it's separate module
- crash if using
down -l
and no manga fits the criteria conf -d (--default)
now sets the proper download directory
- mangadex moved (temporarily) from .org to .cc (added error message to remind about the change if given a .org link)
- mangatown module fixed
- another heavenmanga url change
- down -n/--name flag, downloads the given manga using a custom name
- if a mangadex chapter has no chapter number the downloader will ask for one
- divided get_chapters() into 2 methods (get_main() and get_chapters()) so that the downloader first prints what manga it's working on and then actually does the work (this will allow better handling of edge cases like the mangadex one listed above)
- added __len__() and __bool__() to manga classes
- added manganelo.com url support for the mangakakalot module
- another heavenmanga base url change
- selected chapters are now checked in a sorted order
- mangadex get_id crash when link did not end with a slash
- delayed chapters being included in the "to download" summary
- crash if trying to download multiple chapters for a manga
- covers, a new config setting that allows to download the covers for the manga, defaults to false
- conf -c/--covers flag to toggle the cover option
- after download lists what chapters have failed/succeeded
- invalid input in mangadex multiple groups selection will now skip the chapter instead of forcing a choice
- every module now uses request sessions
- changed get_handler() into a decorator
- modules now use the new exception handler decorator
- moved decorators into a separate file
- conf -c/--clear-tracked had the short flag changed to -t
- config parser now falls back to defaults if setting is missing
- changed the download chunk size
- output changes
- down and update mode now have the same order of action
- a lot of code changes/clean-up
- heavenmanga switched to cfscrape and url changed
- conf -r index errors
- default download path when using custom config
- html entities in group names
- new get_handler() function that handles all request exceptions, meaning all site modules don't have to catch them and can just raise them when needed
- shorter import statements
- fixed the mangatown_com module continuing to look for chapter pages even though one was not working, now raises a exception and stops the loop as expected
- requests.ConnectionError crash fix
- added template module to git repository
- down -e/--exclude flag that will exclude given chapters from being downloaded
- mangakakalot.com module
- mangadex module will now show all groups for a chapter (Group A | Group B | Group C)
- down -r and -s flags now will decline non-number input
- removed the Manga.ch_info list, now Manga.chapters gets edited
- small changes to the filtering functions
- manga that only has 1 chapter with chapter number 0 will no longer ignore selection
- fixed images saving as .None when imghdr.what() did not find the file type, the response header will be used in that case
- heavenmanga_org module exception
- file extension fix
- added CHANGELOG.md
- updated README.md
- heavenmanga and mangatown modules
- mangadex module uses regex to get the chapter id number
- removed useless comments
- small update mode output change - shows the number of chapters that will get downloaded right above the confirmation instead above the chapter listing
- using imghdr.what() to find file extension
First PyPI release