From 480296354615632f6dcd1dae39d6addfa034f4a3 Mon Sep 17 00:00:00 2001 From: Christopher Rosell Date: Wed, 26 Oct 2011 03:23:43 +0200 Subject: Some code rearrangements. --- setup.py | 2 +- src/livestreamer/__init__.py | 13 ++++++++++++- src/livestreamer/cli.py | 14 +++----------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/setup.py b/setup.py index b7262b7..b17b0a4 100644 --- a/setup.py +++ b/setup.py @@ -13,6 +13,6 @@ setup(name="livestreamer", packages=["livestreamer", "livestreamer/plugins"], package_dir={'': 'src'}, entry_points={ - "console_scripts": ['livestreamer=livestreamer:main'] + "console_scripts": ['livestreamer=livestreamer.cli:main'] } ) diff --git a/src/livestreamer/__init__.py b/src/livestreamer/__init__.py index 0d1a455..0e399b9 100644 --- a/src/livestreamer/__init__.py +++ b/src/livestreamer/__init__.py @@ -1 +1,12 @@ -from livestreamer.cli import main +from livestreamer import plugins + +def resolve_url(url): + for name, plugin in plugins.get_plugins().items(): + if plugin.can_handle_url(url): + return (name, plugin) + return None + +def get_plugins(): + return plugins.get_plugins() + +plugins.load_plugins(plugins) diff --git a/src/livestreamer/cli.py b/src/livestreamer/cli.py index 18ac7e5..b4b99e7 100644 --- a/src/livestreamer/cli.py +++ b/src/livestreamer/cli.py @@ -3,7 +3,7 @@ import argparse import sys, os -from livestreamer import plugins +import livestreamer parser = argparse.ArgumentParser(description="Util to play various livestreaming services in a custom player") parser.add_argument("url", help="URL to stream", nargs="?") @@ -18,14 +18,8 @@ def exit(msg): sys.stderr.write("error: " + msg + "\n") sys.exit() -def get_plugin_for_url(url): - for name, plugin in plugins.get_plugins().items(): - if plugin.can_handle_url(url): - return (name, plugin) - return None - def handle_url(args): - (pluginname, plugin) = get_plugin_for_url(args.url) + (pluginname, plugin) = livestreamer.resolve_url(args.url) if not plugin: exit(("No plugin can handle url: {0}").format(args.url)) @@ -60,13 +54,11 @@ def handle_url(args): def print_plugins(): - pluginlist = list(plugins.get_plugins().keys()) + pluginlist = list(livestreamer.get_plugins().keys()) print(("Installed plugins: {0}").format(", ".join(pluginlist))) def main(): - plugins.load_plugins(plugins) - args = parser.parse_args() if args.url: -- cgit v1.2.3