From 9cc311ca5376bfcbcacf7ac492f5958acfac0682 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Mon, 19 Oct 2015 21:38:00 +0200 Subject: Added commandline options and config file --- youtube_podcaster/__init__.py | 44 +++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'youtube_podcaster/__init__.py') diff --git a/youtube_podcaster/__init__.py b/youtube_podcaster/__init__.py index 32aee7c..77ab9cc 100644 --- a/youtube_podcaster/__init__.py +++ b/youtube_podcaster/__init__.py @@ -1,27 +1,47 @@ #!/usr/bin/env python3 -import json +import argparse -from http.server import ( - HTTPServer, -) +from http.server import HTTPServer -from . import ( - youtube, +from .podcastfeeder import create_feeder +from .config import ( + Config, + ConfigException ) -from .podcastfeeder import ( - create_feeder -) +""" +Start the program +""" def main(): - config = json.load(open("youtube-podcaster.json")) + arg_parser = argparse.ArgumentParser(prog="youtube-podcaster", + description="Converts youtube \ + playlists to RSS-feeds") + arg_parser.add_argument("-c", "--config", + dest="config", + help="Use CONFIG as the config file") + arg_parser.add_argument("-i", "--interface", + dest="interface", + help="The interface the http server will listen on") + arg_parser.add_argument("-p", "--port", + dest="port", + help="The port the http server will listen on") + arg_parser.add_argument("--api-key", + dest="apikey", + help="The YouTube API v3 key") + args = arg_parser.parse_args() try: - PodcastFeeder = create_feeder(config["youtube"], config["podcasts"]) - server = HTTPServer(("", 8888), PodcastFeeder) + config = Config.parse_config(args) + + PodcastFeeder = create_feeder(config) + + server = HTTPServer(config.get_server_address(), PodcastFeeder) server.serve_forever() + except ConfigException as e: + print(e) except KeyboardInterrupt: server.socket.close() -- cgit v1.2.3