diff options
| -rwxr-xr-x | comedyGenerator | 50 | ||||
| -rw-r--r-- | config | 13 | 
2 files changed, 53 insertions, 10 deletions
| diff --git a/comedyGenerator b/comedyGenerator index be847a5..76bacb1 100755 --- a/comedyGenerator +++ b/comedyGenerator @@ -15,7 +15,7 @@ config = configparser.ConfigParser()  configdir = str(xdg.XDG_CONFIG_HOME)  config.read(configdir + "/comedyGenerator") -parser = argparse.ArgumentParser(add_help=True) +parser = argparse.ArgumentParser(add_help=True, formatter_class=argparse.RawTextHelpFormatter)  parser.add_argument('--verbose', '-v',          default=False, @@ -33,8 +33,7 @@ parser.add_argument('--amount','-a',          )  parser.add_argument('--output','-o', -        default=config['DEFAULT']['output'], -        dest='output', +        dest=None,          action="store",          help="the output directory of the funnies",          type=str @@ -56,6 +55,20 @@ parser.add_argument('--jobs','-j',          type=int          ) +parser.add_argument('--type','-t', +        default=str(config['DEFAULT']['type']), +        dest='type', +        action="store", +        help= +        ''' +The type of content that will be extracted  +The following arguments are valid (case insensitive): +Video +Gifs +        ''', +        type=str +        ) +  parser.add_argument('tags',          nargs='+',          type=str, @@ -64,6 +77,26 @@ parser.add_argument('tags',  args = parser.parse_args() +contentFilter = "video" + +if args.output == None: +    if args.verbose: +        print("Recalibtrating output location") +    if args.type.lower() == "video" or args.type.lower() == "videos": +        args.output = config['Videos']['output'] +    elif args.type.lower() == "gifs" or args.type.lower() == "gif": +        args.output = config['Gifs']['output'] + +if args.type.lower() == "video" or args.type.lower() == "videos": +    contentFilter = "video" +elif args.type.lower() == "gifs" or args.type.lower() == "gif": +    contentFilter = "gif" + +if args.verbose: +    print("Current output location: " + str(args.output)) +    print("Current filter: " + contentFilter) + +  #string comparision so I don't need two vars; bloat kills bloat  logging = False  if not args.log == "False": @@ -129,7 +162,7 @@ for tags in args.tags:                  }          for tries in range(100):              try: -                tagPage = requests.get("https://ifunny.co/api/v1/feeds?filter=video&tag=" + tags, headers=requestHeader, cookies=requestCookies) +                tagPage = requests.get("https://ifunny.co/api/v1/feeds?filter=" + contentFilter + "&tag=" + tags, headers=requestHeader, cookies=requestCookies)                  if args.verbose:                      print("Got Webpage!")              except: @@ -140,13 +173,14 @@ for tags in args.tags:              break          JSONDump = tagPage.json() +          while len(videos) < args.amount and len(JSONDump['items']) > 0: -            print("Currently have " + str(len(videos)) + " videos out of " + str(args.amount) + " (" + str((len(videos)/args.amount)*100) + "%)") +            print("Currently have " + str(len(videos)) + " " + contentFilter + " out of " + str(args.amount) + " (" + str((len(videos)/args.amount)*100) + "%)")              for item in range(len(JSONDump['items'])):                  videos.append(JSONDump['items'][item]['url'])              for tries in range(100):                  try: -                    tagPage = requests.get("https://ifunny.co/api/v1/feeds?filter=video&tag=" + tags + "&next=" + JSONDump['pagination']['next'], headers=requestHeader, cookies=requestCookies) +                    tagPage = requests.get("https://ifunny.co/api/v1/feeds?filter=" + contentFilter + "&tag=" + tags + "&next=" + JSONDump['pagination']['next'], headers=requestHeader, cookies=requestCookies)                      JSONDump = tagPage.json()                      if args.verbose:                          print("Got New Tag Page!") @@ -164,7 +198,9 @@ for tags in args.tags:          def download(video):              if args.verbose:                  print("Now running for " + str(video)) -            name = tags + "-" + hashlib.md5(video.encode('utf-8')).hexdigest() + ".mp4" + +            urlsplit = video.split('.') +            name = tags + "-" + hashlib.md5(video.encode('utf-8')).hexdigest() + "." + urlsplit[len(urlsplit)-1]              outputPath = args.output + name              if args.verbose:                  print("name read as: " + name) @@ -1,9 +1,6 @@  #Move this to ~/.config/comedyGenerator  [DEFAULT] -#Dictates where videos will be outputted to -output=./ -  #Location of the log file, if you care about that. False will disable the log file  log=False @@ -12,3 +9,13 @@ amount=10  #Default amount of jobs used when downloading  jobs=1 + +[Videos] + +#where videos will be outputted to +output=/home/joybuke/Videos/unsorted/ + +[Gifs] + +#where gifs will be outputted to +output=/home/joybuke/Pictures/gif/ | 
