GithubHelp home page GithubHelp logo

watcher-go's People

Contributors

darealfreak avatar dependabot-preview[bot] avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

dimied

watcher-go's Issues

add option to disable specific modules

if you are f.e. IP banned or something the like it would be beneficial to be able to skip modules.
just running only 1 module without the parallel mode can be quite time consuming, so definitely a need for that.

twitter download queue

twitter module often tries to download already downloaded posts, most likely the order is reversed

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/DaRealFreak/watcher-go/cmd/watcher: cannot find module providing package github.com/DaRealFreak/watcher-go/cmd/watcher

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

animation conversion fails on many files

due to using the full file path for all added images the command exceeds the max length earlier than expected.
change into the dir for conversion without using the full file path

add pixiv booth support

pixiv booth are not supported as of yet, would be neat to support it too, unsure if we can retrieve it with the API though

include leaky bucket for eh too

currently a random delay between 1.5 and 2.5 seconds is chosen.
the data harvesting check is most likely a leaky bucket too, since requests can take a different amount of time.
Instead of random sleep times a leaky bucket should be implemented for eh as for pixiv already.
refill of 1.5s should be a good start for estimating the bucket size.

configuration for modules

modules should be able to have a custom configuration (f.e. animation conversion of pixiv to webp/gif/fliff)

pixiv manga type incomplete download

when the manga type work of pixiv isn't fully downloaded (f.e. 2 out of 5 pages) the item gets marked as complete nonetheless.
we may have to split illustration and manga downloads here

add nhentai module

since it also saves deleted galleries and lists previously updated galleries it would be pretty nice to have

make user argument consistent

currently in adding account and update account command we use one time "user" and one time "username" as argument, unifying it to "user" would be neat

update deviantart OAuth2 process

since we only need the client request there is no need for a webserver.
we can ignore the not resolved error and just retrieve the URL

make database file configurable

currently it's always in the path where the app is executed, would make sense to make this configurable too since the configuration file is configurable too

update download algorithm for gw

Just iterating through the jump selection after the last selected item would have the executed requests and be more error prone

use published time as uid in deviantart

since the UUID can't be compared with bigger/smaller comparison deleting the newest work can cause having to download all gallery items once again, using the published_time as unique ID could prevent that since can use > comparison to detect new items

eh download logic fails on large galleries

for the eh module the generated image link is only available for 3600 seconds.
with the random delay this time can get exceeded with a minimum of just 1440 images.
the module should generate the image link on the download part to fix this

use round tripper for pixiv module

instead of implementing another wrapper for the default session we could use the default session and add an http round tripper to manage the pixiv API headers which would be much cleaner

migrate logrus to zap

since logrus is in maintenance mode migrating the logging to zap would be nice to have

rework duplicate image check for deviantart/download

with the new structure we don't get the file extension in the download anymore, we should use ImageMagick to check for image similarity

%IM%convert input1.png -resize 200x200 input1_scaled.png
%IM%convert input2.png -resize 200x200 input2_scaled.png
%IM%compare -subimage-search -metric mse input1_scaled.png input2_scaled.png NULL:

or for better performance but without coordinates of expected sub image:

%IM%convert input1.png -resize 200x200 input1_scaled.png
%IM%convert input2.png -resize 200x200 input2_scaled.png
%IM%compare -metric mse input1_scaled.png input2_scaled.png NULL:

While at it we should rename the downloaded file to identify and match the image format:

%IM%identify -format "%m" input2

fallback solution for deviantart download API endpoint

the endpoint throws a lot of internal server errors, while the web interface works properly
a fallback in case the API endpoint throws the internal server error to the web interface would be useful.

response on internal server error:

{
    "error": "server_error",
    "error_description": "Internal server error.",
    "status": "error"
}

skip on error

generally the application should skip the currently handled item on errors.
while it is great for seeing when something failed, it is kinda tedious when you run the application and your internet is gone for a few minutes

  • eh/ex
  • deviantart
  • pixiv
  • sankaku

extend cobra commands for cookies

currently missing from the CLI workflow and only configurable through environment variables so far:

  • add command
  • update (+enable/disable) command
  • list function implementation (list all cookies, add requirement of cookies to module list)
  • extend backup commands for stored cookies
  • README update for cookies

delete temp files after usage

we should clear temp files after we're done using them. windows f.e. will clear them automatically after 10 days but on many many downloads the size can escalate really quick

parse app links of deviantart

translate the app url meta data to parse the endpoint:
document.querySelector('meta[property="da:appurl"]').content
https://www.deviantart.com/developers/app_links

relevant uris:

  • DeviantArt://deviation/{deviation-UUID}
  • DeviantArt://tag/{tag}
  • DeviantArt://collection/{username}/{folder-UUID}
  • DeviantArt://gallery/{username}/{folder-UUID}
    DeviantArt://browse/morelikethis/{deviation-UUID} (no valid continuation)
    DeviantArt://watchfeed (this endpoint is completely broken for 3+ years, just ignore it

all other uris don't contain deviations or don't provide a proper sorting so we can update/track them properly

eh gallery search logic flaw

Currently when the current item gets deleted/updated eh search update won't stop and it will try to add every gallery again.
This causes some delays for opening all pages (leaky bucket) again.
Check whether there is an increment identifier visible for fixing it or use fallback items to minimize the chance of it happening

add multi proxy support for eh/ex

while having one proxy is already helpful it would be even better if the proxies could be switched after capping the limit on one.
so it could loop through the proxies to ignore any imposed limitation.

pixiv API search limits

the API search is limited up to 5000 results
the web search does not impose any limits so a workaround would be needed.

log show module for errors

currently when an error occurs it is not directly visible from which module it originates from
write a custom log formatter to set for the modules and use it on the error check

extend cobra commands for OAuth2 clients

currently missing from the CLI workflow:

  • add command
  • update (+enable/disable) command
  • list function implementation (list all OAuth2 clients, add requirement of OAuth2 client to module list)
  • README update for OAuth2 clients

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.