Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Releases: Wulfre/e621dl

v4.4.1

21 Jan 21:46
Compare
Choose a tag to compare

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() to raise 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

13 Dec 15:30
Compare
Choose a tag to compare

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

12 Dec 20:11
Compare
Choose a tag to compare

Important Notes

  • Partial downloads are now finished on startup.
  • Shortened default name of downloaded posts to just their id.
    • Run the attached rename-removemd5.* or rename-keepmd5.* in the same directory as e621dl.exe or e621dl.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.

All Notes

  • Made log output more consistent.
  • SystemExit is now raised directly rather than importing the sys module.

v4.3.0

12 Dec 02:47
Compare
Choose a tag to compare

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.

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

09 Dec 02:24
Compare
Choose a tag to compare

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

04 Dec 04:00
Compare
Choose a tag to compare

Important Notes

  • Added windows executable.
  • Added check for new versions released on github.
  • Removed check for required packages.

v4.2.1

16 Nov 15:57
Compare
Choose a tag to compare

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.
  • 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.

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

09 Aug 01:37
Compare
Choose a tag to compare

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

26 Jul 15:47
Compare
Choose a tag to compare
v4.0.0 Pre-release
Pre-release
  • 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.
    • 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.
  • 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

18 Jul 16:17
Compare
Choose a tag to compare
  • 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.