From d8f0832e3a2d95ae9e1f65df57db1287c7928eda Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Thu, 31 Oct 2024 13:45:18 -0700 Subject: [PATCH] Pass argv --- {{cookiecutter.out_dir}}/lib/main.dart | 38 ++++++++++++++------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/{{cookiecutter.out_dir}}/lib/main.dart b/{{cookiecutter.out_dir}}/lib/main.dart index 5af356e..140fcae 100644 --- a/{{cookiecutter.out_dir}}/lib/main.dart +++ b/{{cookiecutter.out_dir}}/lib/main.dart @@ -22,7 +22,6 @@ const pythonModuleName = "{{ cookiecutter.python_module_name }}"; final hideLoadingPage = bool.tryParse("{{ cookiecutter.hide_loading_animation }}".toLowerCase()) ?? true; -const outLogFilename = "console.log"; const errorExitCode = 100; List createControlFactories = [ @@ -55,8 +54,7 @@ if os.getenv("FLET_PLATFORM") == "android": ssl._create_default_https_context = create_default_context -app_temp_dir = os.getenv("FLET_APP_TEMP") -out_file = open(os.path.join(app_temp_dir, "$outLogFilename"), "w+", buffering=1) +out_file = open("{outLogFilename}", "w+", buffering=1) callback_socket_addr = os.getenv("FLET_PYTHON_CALLBACK_SOCKET_ADDR") if ":" in callback_socket_addr: @@ -78,7 +76,7 @@ sys.exit = flet_exit ex = None try: - sys.argv = [{argv}] + sys.argv = {argv} runpy.run_module("{module_name}", run_name="__main__") except Exception as e: ex = e @@ -87,13 +85,15 @@ except Exception as e: sys.exit(0 if ex is None else $errorExitCode) """; +String outLogFilename = ""; + // global vars String pageUrl = ""; String assetsDir = ""; String appDir = ""; Map environmentVariables = {}; -void main([List? args]) async { +void main(List args) async { if (isProduction) { // ignore: avoid_returning_null_for_void debugPrint = (String? message, {int? wrapWidth}) => null; @@ -113,8 +113,7 @@ void main([List? args]) async { pageUrl: pageUrl, assetsDir: assetsDir, hideLoadingPage: hideLoadingPage, - createControlFactories: createControlFactories - ) + createControlFactories: createControlFactories) : FutureBuilder( future: runPythonApp(args), builder: @@ -129,11 +128,10 @@ void main([List? args]) async { } else { // no result of error return FletApp( - pageUrl: pageUrl, - assetsDir: assetsDir, - hideLoadingPage: hideLoadingPage, - createControlFactories: createControlFactories - ); + pageUrl: pageUrl, + assetsDir: assetsDir, + hideLoadingPage: hideLoadingPage, + createControlFactories: createControlFactories); } }); } else if (snapshot.hasError) { @@ -188,6 +186,8 @@ Future prepareApp() async { environmentVariables["FLET_APP_DATA"] = appDataPath; environmentVariables["FLET_APP_TEMP"] = appTempPath; + outLogFilename = path.join(appTempPath, "console.log"); + environmentVariables["FLET_PLATFORM"] = defaultTargetPlatform.name.toLowerCase(); @@ -206,11 +206,13 @@ Future prepareApp() async { return ""; } -Future runPythonApp(List? args) async { - - var argvItems = args?.map((a) => "\"${a.replaceAll('"', '\\"')}\""); - var argv = "[${argvItems != null ? argvItems.join(',') : ''}]"; - var script = pythonScript.replaceAll('{module_name}', pythonModuleName).replaceAll('{argv}', argv); +Future runPythonApp(List args) async { + var argvItems = args.map((a) => "\"${a.replaceAll('"', '\\"')}\""); + var argv = "[${argvItems.isNotEmpty ? argvItems.join(',') : '""'}]"; + var script = pythonScript + .replaceAll("{outLogFilename}", outLogFilename) + .replaceAll('{module_name}', pythonModuleName) + .replaceAll('{argv}', argv); var completer = Completer(); @@ -343,4 +345,4 @@ Future getUnusedPort() { socket.close(); return port; }); -} +} \ No newline at end of file