docs: def main():
      '''
      Starts here, handles arguments
      '''
  
      system('clear') # Must be system('cls') for windows
  
      setup()
  
      parser = argparse.ArgumentParser(
          description='Download songs with album art and metadata!')
      parser.add_argument('-c', '--config', action='store_true',
                          help='Set your API keys')
      parser.add_argument('-m', '--multiple', action='store', dest='multiple_file',
                          help='Download multiple songs from a text file list')
      parser.add_argument('-a', '--auto', action='store_true',
                          help='Automatically chooses top result')
      parser.add_argument('--album', action='store_true',
                          help='Downloads all songs from an album')
      args = parser.parse_args()
      arg_multiple = args.multiple_file or None
      arg_auto = args.auto or None
      arg_album = args.album or None
      arg_config = args.config
  
  
      if arg_config:
          add_config()
  
      elif arg_multiple and arg_album:
          log.log_error("Can't do both!")
  
      elif arg_album:
          album_name = input('Enter album name : ')
          try:
              tracks = get_tracks_from_album(album_name)
              for songs in tracks:
                  print(songs)
              confirm = input(
                  '\nAre these the songs you want to download? (Y/n)\n> ')
  
          except IndexError:
              log.log_error("Couldn't find album")
              exit()
  
          if confirm == '' or confirm.lower() == ('y'):
              for track_name in tracks:
                  track_name = track_name + ' song'
                  song_url, file_name = get_url(track_name, arg_auto)
                  download_song(song_url, file_name)
                  system('clear')
                  repair.fix_music(file_name + '.mp3')
  
          elif confirm.lower() == 'n':
              log.log_error("Sorry, if appropriate results weren't found")
              exit()
          else:
              log.log_error('Invalid Input')
              exit()
  
      elif arg_multiple:
          with open(arg_multiple, "r") as f:
              file_names = []
              for line in f:
                  file_names.append(line.rstrip('\n'))
  
          for files in file_names:
              files = files + ' song'
              song_url, file_name = get_url(files, arg_auto)
              download_song(song_url, file_name)
              system('clear')
              repair.fix_music(file_name + '.mp3')
  
      else:
          query = input('Enter Song Name : ')
          song_url, file_name = get_url(query, arg_auto)  # Gets YT url
          download_song(song_url, file_name)  # Saves as .mp3 file
          system('clear')
          repair.fix_music(file_name + '.mp3')