This repository has been archived by the owner on Feb 12, 2024. It is now read-only.
Releases: Wulfre/e621dl
Releases · Wulfre/e621dl
v4.4.1
Important Notes
- Fixed error when running from source on 64-bit systems. sys.maxsize() would return an integer that was too big for e621 to use.
- Added a function that makes sure API calls are at least 0.5 seconds apart as per the e621 documentation.
- Added pause after all searches are complete.
- Removed print function left from debugging.
All Notes
- Added (finally) comments to the main py file.
- Changed remaining instances of
exit()
toraise SystemExit
- Removed unused imports.
- Organized used imports.
- Rewrote max int in hexadecimal because it is easier to read.
- Normalized some spacing and quotations.
- Expanded multiple imports on the same line into separate lines.
v4.4.0
Important Notes
- Changed search style from page to before_id.
- This should be more efficient, and allow for massive downloads since the page search style caps at 750 pages.
- Added raise for status error every time the requests session is used to download data. This will prevent excessive requests to e621 and avoid the blocking this program or your IP.
- Fixed a bug where the search loop would not break if exactly 320 results were returned.
- Renamed new column to downloaded.
- This is partially because if you downloaded more than 999 posts the table would become skewed.
- Readded md5 support as requested by #11.
- To append the md5 to filenames, include the following section in your config.ini:
[Other] include_md5 = true
All Notes
- Rewrote the download function so that partial downloads can resume using it.
- Changed requests mode from get to post, data.
- Normalized options and values when parsing config.
Other Notes
The name scheme for downloads has changed in recent releases. See v4.3.1 for more information and tools to rename your downloads.
v4.3.1
Important Notes
- Partial downloads are now finished on startup.
- Shortened default name of downloaded posts to just their id.
- Run the attached
rename-removemd5.*
orrename-keepmd5.*
in the same directory ase621dl.exe
ore621dl.py
if you would like to convert your already downloaded posts to the new naming scheme. There is no way to revert removing the md5 without redownloading everything.
- Run the attached
All Notes
- Made log output more consistent.
SystemExit
is now raised directly rather than importing thesys
module.
v4.3.0
Important Notes
- Fixed a log message being printed before the log was initialized.
- Images now get the
.request
extension while they are being downloaded.- Any
.request
files found during startup will be deleted.
- Any
All Notes
- Removed duplicated print call for displaying 0 results.
- Renamed variables being used with the requests module to be easier to read.
v4.2.3
Important Notes
- Added wildcard matching to blacklist.
- Added wildcard existence check to tag aliaser.
- Removed prompt when a new version of e621dl is available.
- Only a message will appear when a new version is available so that the script will not be interrupted if it is ran on a schedule.
All Notes
- Removed unused variables.
v4.2.2
v4.2.1
Important Notes
- Added options so that each tag group can now have its own values of min_score, ratings, and days_to_check.
- Added new config section for default values of min_score, ratings, and days_to_check that the program will fall back onto if the values are not given for a specific tag group.
- Reformatted console output to be in a table. This format is much easier to refresh on the screen without using hacky methods.
- Removed
reprint
as a required package.
- Removed
- Added alternative key names for config parsing.
- Defaulted key names to their shorter counterparts.
- Any aliased tags will now have their new names printed to the console.
- New tags are not overwritten in
config.ini
. The user may do this themselves if they wish.
- New tags are not overwritten in
All Notes
- Moved conversion of days_to_check to date into local module as a function.
- Moved initialization of logger into its own function that is called once at the beginning of the program.
- Removed unneeded path parameters for config-related functions, since the name should always be config.ini.
- Removed list comprehension during tag aliasing.
- Added custom user-agent to prevent e621 from blocking requests.
v4.1.0
Important Notes
- Added prompt to install missing packages automatically.
- Removed requirements.txt as the file was only used to install missing packages manually.
- Tags will be aliased before searching to prevent issues with external tag comparisons (those comparisons made by e621dl rather than e621).
- Added minimum score to the request from e621's internal tag check.
- This reduces the number of posts returned by e621, but also reduces the maximum number of meta-tags to 4.
All Notes
- Reorganized config parsing and initialization.
- Removed config validation, since most default options are now initialized
- Changed encoding of config file to UTC-8.
- Rewrote some methods to use less imports.
- Changed download method to use purely the requests module instead of shutil.
- Removed all uses of the sys module.
- Moved logger config from main method to print_log function.
- Reordered filter to check blacklist before overflowed tags.
v4.0.0
- Rewrote main function.
- Posts are now filtered in overwriting groups of 320 and downloaded immediately instead of being stored in a list. This should use significantly less memory.
- Tweaked filter conditions to match this new system and hopefully be more efficient.
- Added dependency for
unidecode
to fix #1.
- Added dependency for
- Tweaked filter conditions to match this new system and hopefully be more efficient.
- Progress is now displayed dynamically instead of being counted silently.
- Removed display of tags being searched for during runtime.
- Removed display of total number of posts found. This seemed like a redundant feature.
- Removed progress bar.
- Added dependency for
colorama
to make dynamic display work on most operating system and terminal combinations.
- Posts are now filtered in overwriting groups of 320 and downloaded immediately instead of being stored in a list. This should use significantly less memory.
- Cleaned up config parsing.
- Converted all values to lowercase to prevent parsing errors due to case sensitivity.
- Properly initialized settings for tag groups.
- If no ratings are declared, only safe posts will be downloaded.
- If no minimum score is declared, it will be set to -999999. This should cover all posts.
- Removed usage of
namedtuples
.
v3.2.2
- Fixed typos and unconventional names.
- Removed download multiprocessing in favor of a single, uninterrupted requests session.
- Removed unneeded freeze_support
- Added minimum score and ratings to config.
- Renamed and reorganized libraries.
- Moved methods in respect to library new names.
- Increased max search results to 320, the hard limit of e621.
- Shortened names of long variables.
- Reformatted search results to be easier to read.
- Changed progress bar character to solid block.
- Removed tag alias lookup because it is no longer used.
- Removed md5 check due to inefficiency.
- Added ducko for good compiling.