Pass argv
This commit is contained in:
parent
dddf2f4b9b
commit
d8f0832e3a
|
|
@ -22,7 +22,6 @@ const pythonModuleName = "{{ cookiecutter.python_module_name }}";
|
||||||
final hideLoadingPage =
|
final hideLoadingPage =
|
||||||
bool.tryParse("{{ cookiecutter.hide_loading_animation }}".toLowerCase()) ??
|
bool.tryParse("{{ cookiecutter.hide_loading_animation }}".toLowerCase()) ??
|
||||||
true;
|
true;
|
||||||
const outLogFilename = "console.log";
|
|
||||||
const errorExitCode = 100;
|
const errorExitCode = 100;
|
||||||
|
|
||||||
List<CreateControlFactory> createControlFactories = [
|
List<CreateControlFactory> createControlFactories = [
|
||||||
|
|
@ -55,8 +54,7 @@ if os.getenv("FLET_PLATFORM") == "android":
|
||||||
|
|
||||||
ssl._create_default_https_context = create_default_context
|
ssl._create_default_https_context = create_default_context
|
||||||
|
|
||||||
app_temp_dir = os.getenv("FLET_APP_TEMP")
|
out_file = open("{outLogFilename}", "w+", buffering=1)
|
||||||
out_file = open(os.path.join(app_temp_dir, "$outLogFilename"), "w+", buffering=1)
|
|
||||||
|
|
||||||
callback_socket_addr = os.getenv("FLET_PYTHON_CALLBACK_SOCKET_ADDR")
|
callback_socket_addr = os.getenv("FLET_PYTHON_CALLBACK_SOCKET_ADDR")
|
||||||
if ":" in callback_socket_addr:
|
if ":" in callback_socket_addr:
|
||||||
|
|
@ -78,7 +76,7 @@ sys.exit = flet_exit
|
||||||
|
|
||||||
ex = None
|
ex = None
|
||||||
try:
|
try:
|
||||||
sys.argv = [{argv}]
|
sys.argv = {argv}
|
||||||
runpy.run_module("{module_name}", run_name="__main__")
|
runpy.run_module("{module_name}", run_name="__main__")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
ex = e
|
ex = e
|
||||||
|
|
@ -87,13 +85,15 @@ except Exception as e:
|
||||||
sys.exit(0 if ex is None else $errorExitCode)
|
sys.exit(0 if ex is None else $errorExitCode)
|
||||||
""";
|
""";
|
||||||
|
|
||||||
|
String outLogFilename = "";
|
||||||
|
|
||||||
// global vars
|
// global vars
|
||||||
String pageUrl = "";
|
String pageUrl = "";
|
||||||
String assetsDir = "";
|
String assetsDir = "";
|
||||||
String appDir = "";
|
String appDir = "";
|
||||||
Map<String, String> environmentVariables = {};
|
Map<String, String> environmentVariables = {};
|
||||||
|
|
||||||
void main([List<String>? args]) async {
|
void main(List<String> args) async {
|
||||||
if (isProduction) {
|
if (isProduction) {
|
||||||
// ignore: avoid_returning_null_for_void
|
// ignore: avoid_returning_null_for_void
|
||||||
debugPrint = (String? message, {int? wrapWidth}) => null;
|
debugPrint = (String? message, {int? wrapWidth}) => null;
|
||||||
|
|
@ -113,8 +113,7 @@ void main([List<String>? args]) async {
|
||||||
pageUrl: pageUrl,
|
pageUrl: pageUrl,
|
||||||
assetsDir: assetsDir,
|
assetsDir: assetsDir,
|
||||||
hideLoadingPage: hideLoadingPage,
|
hideLoadingPage: hideLoadingPage,
|
||||||
createControlFactories: createControlFactories
|
createControlFactories: createControlFactories)
|
||||||
)
|
|
||||||
: FutureBuilder(
|
: FutureBuilder(
|
||||||
future: runPythonApp(args),
|
future: runPythonApp(args),
|
||||||
builder:
|
builder:
|
||||||
|
|
@ -132,8 +131,7 @@ void main([List<String>? args]) async {
|
||||||
pageUrl: pageUrl,
|
pageUrl: pageUrl,
|
||||||
assetsDir: assetsDir,
|
assetsDir: assetsDir,
|
||||||
hideLoadingPage: hideLoadingPage,
|
hideLoadingPage: hideLoadingPage,
|
||||||
createControlFactories: createControlFactories
|
createControlFactories: createControlFactories);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (snapshot.hasError) {
|
} else if (snapshot.hasError) {
|
||||||
|
|
@ -188,6 +186,8 @@ Future prepareApp() async {
|
||||||
environmentVariables["FLET_APP_DATA"] = appDataPath;
|
environmentVariables["FLET_APP_DATA"] = appDataPath;
|
||||||
environmentVariables["FLET_APP_TEMP"] = appTempPath;
|
environmentVariables["FLET_APP_TEMP"] = appTempPath;
|
||||||
|
|
||||||
|
outLogFilename = path.join(appTempPath, "console.log");
|
||||||
|
|
||||||
environmentVariables["FLET_PLATFORM"] =
|
environmentVariables["FLET_PLATFORM"] =
|
||||||
defaultTargetPlatform.name.toLowerCase();
|
defaultTargetPlatform.name.toLowerCase();
|
||||||
|
|
||||||
|
|
@ -206,11 +206,13 @@ Future prepareApp() async {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<String?> runPythonApp(List<String>? args) async {
|
Future<String?> runPythonApp(List<String> args) async {
|
||||||
|
var argvItems = args.map((a) => "\"${a.replaceAll('"', '\\"')}\"");
|
||||||
var argvItems = args?.map((a) => "\"${a.replaceAll('"', '\\"')}\"");
|
var argv = "[${argvItems.isNotEmpty ? argvItems.join(',') : '""'}]";
|
||||||
var argv = "[${argvItems != null ? argvItems.join(',') : ''}]";
|
var script = pythonScript
|
||||||
var script = pythonScript.replaceAll('{module_name}', pythonModuleName).replaceAll('{argv}', argv);
|
.replaceAll("{outLogFilename}", outLogFilename)
|
||||||
|
.replaceAll('{module_name}', pythonModuleName)
|
||||||
|
.replaceAll('{argv}', argv);
|
||||||
|
|
||||||
var completer = Completer<String>();
|
var completer = Completer<String>();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue