aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_podcaster/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'youtube_podcaster/__init__.py')
-rw-r--r--youtube_podcaster/__init__.py44
1 files changed, 32 insertions, 12 deletions
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 @@
1#!/usr/bin/env python3 1#!/usr/bin/env python3
2 2
3import json 3import argparse
4 4
5from http.server import ( 5from http.server import HTTPServer
6 HTTPServer,
7)
8 6
9from . import ( 7from .podcastfeeder import create_feeder
10 youtube, 8from .config import (
9 Config,
10 ConfigException
11) 11)
12 12
13from .podcastfeeder import ( 13"""
14 create_feeder 14Start the program
15) 15"""
16 16
17 17
18def main(): 18def main():
19 config = json.load(open("youtube-podcaster.json")) 19 arg_parser = argparse.ArgumentParser(prog="youtube-podcaster",
20 description="Converts youtube \
21 playlists to RSS-feeds")
22 arg_parser.add_argument("-c", "--config",
23 dest="config",
24 help="Use CONFIG as the config file")
25 arg_parser.add_argument("-i", "--interface",
26 dest="interface",
27 help="The interface the http server will listen on")
28 arg_parser.add_argument("-p", "--port",
29 dest="port",
30 help="The port the http server will listen on")
31 arg_parser.add_argument("--api-key",
32 dest="apikey",
33 help="The YouTube API v3 key")
34 args = arg_parser.parse_args()
20 35
21 try: 36 try:
22 PodcastFeeder = create_feeder(config["youtube"], config["podcasts"]) 37 config = Config.parse_config(args)
23 server = HTTPServer(("", 8888), PodcastFeeder) 38
39 PodcastFeeder = create_feeder(config)
40
41 server = HTTPServer(config.get_server_address(), PodcastFeeder)
24 server.serve_forever() 42 server.serve_forever()
43 except ConfigException as e:
44 print(e)
25 except KeyboardInterrupt: 45 except KeyboardInterrupt:
26 server.socket.close() 46 server.socket.close()
27 47