nilfoer / gwaripper

Tool for conveniently downloading audios from r/gonewildaudio and similar subreddits
MIT License
30 stars 5 forks source link

Documentation #12

Closed 216598762 closed 1 year ago

216598762 commented 1 year ago

This seems to lack complete documentation of each command. I'd like to work with you and see if we can map out a complete list of commands and their capabilities/uses. Thank you for the great software; it has saved me a lot of time.

nilfoer commented 1 year ago

Do you mean in the Readme or in the help menu?

The help menu needs some updating, but all commands should be there.

> python .\gwaripper-runner.py -h
usage: gwaripper-runner.py [-h] [--ignore-banned] [--download-duplicates] [-te]
                           {links,fromtxt,watch,redditor,subreddit,sub,search,config} ...

Script to download gonewildaudio/pta posts from either reddit or soundgasm.net directly.

optional arguments:
  -h, --help            show this help message and exit
  --ignore-banned       Ignores banned tags in titles and in link text!
  --download-duplicates
                        Downloads files even if they're already in the DB!
  -te, --test

subcommands:
  valid subcommands

  {links,fromtxt,watch,redditor,subreddit,sub,search,config}
                        sub-command help
    links               Process single link/s
    fromtxt             Process links in txt file
    watch               Watch clipboard for sgasm/reddit links and save them to txt; option to process them
                        immediately
    redditor            Rip redditor/s
    subreddit (sub)     Parse subreddit and download supported links
    search              Search subreddit and download supported links
    config              Configure GWARipper: save location etc.
> python .\gwaripper-runner.py search -h
usage: gwaripper-runner.py search [-h] [-s SORTBY] [-t TIME_FRAME] POST_LIMIT subname searchstring

positional arguments:
  POST_LIMIT            How many posts to downloadwhen ripping redditor
  subname               Name of subreddit
  searchstring          Searchstring in lucene syntax (see: https://www.reddit.com/wiki/search)

optional arguments:
  -h, --help            show this help message and exit
  -s SORTBY, --sort SORTBY
                        Reddit post sorting method (default: top)
  -t TIME_FRAME, --timefilter TIME_FRAME
                        Value for time filter (default: all)
216598762 commented 1 year ago

Yeah! The biggest issue is a lot of information that seems to be missing. i.e -s SORTBY states the default but doesn't state the other options to enter into the string or the correct way to do so; when someone tries a syntax matching what they want, for example, NEW, it then tells them it only supports HOT and TOP. I'll use this to mention other issues, but is there a method or argument for ensuring the program doesn't download duplicates from all the sources they give? If a post has a soundgasm whyp.it links; currently, it seems to download both instead of just one. Or, the option to not download text or images from posts? Thank you

nilfoer commented 1 year ago

That behaviour depends on praw/reddit and most of it should be documented in https://www.reddit.com/wiki/search which is linked in the help text

I could make an option where you can specify a priority list of hosts and then we only download one, but the problem is that sometimes multiple versions/parts are posted in one submission so downloading just one of them would be wrong.

Also no to the other two, but I could those.

216598762 commented 1 year ago

I didn't know of that, thank you. My coding knowledge is extremely lacking, so I'm just going off of what I know, but could you have an argument that tries to parse if it is a multi-part? Or some form of crosscheck of the file size/length of the audio? I know this only gets more complicated the more you ask, trying to trim down how much data the ripper piles up. No big deal on the text or image thing; it's easy enough to fish those files out and delete them, just convenience; deduping gets a lot messier.

nilfoer commented 1 year ago

Thinking it over again: Assuming all audios are uploaded to all the audio host options and one specific part/version isn't only available on one of them, it would probably make sense to just offer a priority list for hosts and then only choose one. I'll probably implement that version.

nilfoer commented 1 year ago

You can now use gwaripper config --only-one-mirror 1 to only download from one audio host if all audio files are present on each host. With gwaripper config --host-priority you can choose which hosts should be picked in what order.

Also added the other two options, see: https://github.com/nilfoer/gwaripper/releases/tag/v0.6.7

216598762 commented 1 year ago

Awesome! Thank you!!On Feb 6, 2023 7:23 PM, nilfoer @.***> wrote: You can now use gwaripper config --only-one-mirror 1 to only download from one audio host if all audio files are present on each host. With gwaripper config --host-priority you can choose which hosts should be picked in what order.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>