43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import argparse
|
|
|
|
from spodcast.app import client
|
|
from spodcast.config import CONFIG_VALUES
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(prog='spodcast',
|
|
description='A caching Spotify podcast to RSS proxy.')
|
|
parser.add_argument('-c', '--config-location',
|
|
type=str,
|
|
help='Specify the spodcast.json location')
|
|
|
|
parser.add_argument('-p', '--prepare-feed',
|
|
action='store_true',
|
|
help='Installs RSS feed server code in ROOT_PATH.')
|
|
|
|
group = parser.add_mutually_exclusive_group(required=True)
|
|
group.add_argument('urls',
|
|
type=str,
|
|
# action='extend',
|
|
default='',
|
|
nargs='*',
|
|
help='Download podcast episode(s) from a url. Can take multiple urls.')
|
|
|
|
group.add_argument('-l', '--login',
|
|
type=str,
|
|
help='Reads username and password from file passed as argument and stores credentials for later use.')
|
|
|
|
|
|
for configkey in CONFIG_VALUES:
|
|
parser.add_argument(CONFIG_VALUES[configkey]['arg'],
|
|
type=str,
|
|
default=None,
|
|
help=CONFIG_VALUES[configkey]['help'])
|
|
|
|
parser.set_defaults(func=client)
|
|
|
|
args = parser.parse_args()
|
|
args.func(args)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|