From b8b4d2a5f7f37e1fd2e8cfd2b5144eb9f4beb641 Mon Sep 17 00:00:00 2001 From: makondratev <69584771+makondratev@users.noreply.github.com> Date: Wed, 7 May 2025 17:47:55 +0300 Subject: [PATCH] Added load_asgi_app method to CLI class (#353) Allows simple override point for folks compiling their application, with e.g. PyInstaller. Co-authored-by: Carlton Gibson --- daphne/cli.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/daphne/cli.py b/daphne/cli.py index a036821..e6e79b2 100755 --- a/daphne/cli.py +++ b/daphne/cli.py @@ -201,6 +201,12 @@ class CommandLineInterface: if args.proxy_headers: return "X-Forwarded-Port" + def load_asgi_app(self, asgi_app_path: str): + """ + Return the imported application. + """ + return import_by_path(asgi_app_path) + def run(self, args): """ Pass in raw argument list and it will decode them @@ -230,7 +236,7 @@ class CommandLineInterface: # Import application sys.path.insert(0, ".") - application = import_by_path(args.application) + application = self.load_asgi_app(args.application) application = guarantee_single_callable(application) # Set up port/host bindings