From 7384dd7a2f34697040318008d85dd503e9e8735a Mon Sep 17 00:00:00 2001 From: Jonas L Date: Mon, 18 Oct 2021 09:44:39 +0200 Subject: [PATCH] feature: Use setuptools entrypoints (#1409) * Use console_scripts entrypoint for libretimeapi * Use console_scripts entrypoint for playout --- api/{bin/libretime-api => libretimeapi/cli.py} | 0 api/setup.py | 6 +++++- playout/bin/libretime-liquidsoap | 6 ------ playout/bin/libretime-playout | 5 ----- playout/liquidsoap/{__main__.py => main.py} | 3 --- playout/pypo/{__main__.py => main.py} | 10 +++++----- playout/pypo/notify/__init__.py | 0 .../libretime-playout-notify => pypo/notify/main.py} | 4 +--- playout/setup.py | 12 +++++++----- 9 files changed, 18 insertions(+), 28 deletions(-) rename api/{bin/libretime-api => libretimeapi/cli.py} (100%) delete mode 100755 playout/bin/libretime-liquidsoap delete mode 100755 playout/bin/libretime-playout rename playout/liquidsoap/{__main__.py => main.py} (99%) rename playout/pypo/{__main__.py => main.py} (97%) create mode 100644 playout/pypo/notify/__init__.py rename playout/{bin/libretime-playout-notify => pypo/notify/main.py} (99%) mode change 100755 => 100644 diff --git a/api/bin/libretime-api b/api/libretimeapi/cli.py similarity index 100% rename from api/bin/libretime-api rename to api/libretimeapi/cli.py diff --git a/api/setup.py b/api/setup.py index 12397beff..3111a6493 100644 --- a/api/setup.py +++ b/api/setup.py @@ -19,8 +19,12 @@ setup( license="AGPLv3", packages=find_packages(), include_package_data=True, - scripts=["bin/libretime-api"], python_requires=">=3.6", + entry_points={ + "console_scripts": [ + "libretime-api=libretimeapi.cli:main", + ] + }, install_requires=[ "coreapi", "django~=3.0", diff --git a/playout/bin/libretime-liquidsoap b/playout/bin/libretime-liquidsoap deleted file mode 100755 index 4bd3999df..000000000 --- a/playout/bin/libretime-liquidsoap +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python3 - -import runpy - -# Run the liquidsoap python module -runpy.run_module("liquidsoap") diff --git a/playout/bin/libretime-playout b/playout/bin/libretime-playout deleted file mode 100755 index 241f3138d..000000000 --- a/playout/bin/libretime-playout +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -import runpy - -runpy.run_module("pypo", run_name="__main__") diff --git a/playout/liquidsoap/__main__.py b/playout/liquidsoap/main.py similarity index 99% rename from playout/liquidsoap/__main__.py rename to playout/liquidsoap/main.py index 77f1b8259..0c34cbbcd 100644 --- a/playout/liquidsoap/__main__.py +++ b/playout/liquidsoap/main.py @@ -45,6 +45,3 @@ def run(): print(f"Liquidsoap {liquidsoap_version} using script: {script_path}") exec_args.append("--debug") os.execl(*exec_args) - - -run() diff --git a/playout/pypo/__main__.py b/playout/pypo/main.py similarity index 97% rename from playout/pypo/__main__.py rename to playout/pypo/main.py index 1e318d7fa..0be930758 100644 --- a/playout/pypo/__main__.py +++ b/playout/pypo/main.py @@ -15,7 +15,7 @@ import time from datetime import datetime from optparse import OptionParser -from api_clients import version1 as api_client +from api_clients.version1 import AirtimeApiClient as ApiClient from configobj import ConfigObj try: @@ -182,7 +182,7 @@ def get_liquidsoap_version(version_string): return False -def liquidsoap_startup_test(): +def liquidsoap_startup_test(telnet_lock, ls_host, ls_port): liquidsoap_version_string = liquidsoap_get_info( telnet_lock, ls_host, ls_port, logger @@ -210,7 +210,7 @@ def liquidsoap_startup_test(): logger.info("Liquidsoap version string found %s" % liquidsoap_version_string) -if __name__ == "__main__": +def run(): logger.info("###########################################") logger.info("# *** pypo *** #") logger.info("# Liquidsoap Scheduled Playout System #") @@ -224,7 +224,7 @@ if __name__ == "__main__": signal.signal(signal.SIGINT, keyboardInterruptHandler) - api_client = api_client.AirtimeApiClient() + api_client = ApiClient() g = Global(api_client) while not g.selfcheck(): @@ -244,7 +244,7 @@ if __name__ == "__main__": ls_host = config["pypo"]["ls_host"] ls_port = config["pypo"]["ls_port"] - liquidsoap_startup_test() + liquidsoap_startup_test(telnet_lock, ls_host, ls_port) if options.test: g.test_api() diff --git a/playout/pypo/notify/__init__.py b/playout/pypo/notify/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/playout/bin/libretime-playout-notify b/playout/pypo/notify/main.py old mode 100755 new mode 100644 similarity index 99% rename from playout/bin/libretime-playout-notify rename to playout/pypo/notify/main.py index 79d9c0670..a6c363c10 --- a/playout/bin/libretime-playout-notify +++ b/playout/pypo/notify/main.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python3 - import traceback """ @@ -191,7 +189,7 @@ class Notify: ) -if __name__ == "__main__": +def run(): print() print("#########################################") print("# *** pypo *** #") diff --git a/playout/setup.py b/playout/setup.py index aebc6de83..3b981476f 100644 --- a/playout/setup.py +++ b/playout/setup.py @@ -24,11 +24,13 @@ setup( "liquidsoap", ], package_data={"": ["**/*.liq", "*.cfg", "*.types"]}, - scripts=[ - "bin/libretime-playout", - "bin/libretime-liquidsoap", - "bin/libretime-playout-notify", - ], + entry_points={ + "console_scripts": [ + "libretime-playout=pypo.main:run", + "libretime-liquidsoap=liquidsoap.main:run", + "libretime-playout-notify=pypo.notify.main:run", + ] + }, python_requires=">=3.6", install_requires=[ f"libretime-api-client @ file://localhost/{here.parent}/api_client#egg=libretime-api-client",