Changes for 0.25.0 (#23)
* Deep linking settings * Update web template * Fix template * Fix web template again * Bump dev_dependencies * Add flutter_bootstrap.js * Use project_name_slug variable * web mobile-web-app-capable * externalNativeBuild * Remove externalNativeBuild * serious_python: 0.8.2 * Added sys.argv support * Pass argv * pwa_background_color and pwa_theme_color options * Fix pwa_background_color in template * Fix pwa_background_color again * Set default pwa_background_color * pwa white background
This commit is contained in:
parent
1a557571ff
commit
287ee5350f
|
|
@ -17,6 +17,8 @@
|
||||||
"route_url_strategy": "path",
|
"route_url_strategy": "path",
|
||||||
"web_renderer": "canvaskit",
|
"web_renderer": "canvaskit",
|
||||||
"use_color_emoji": "false",
|
"use_color_emoji": "false",
|
||||||
|
"pwa_background_color": "#FFFFFF",
|
||||||
|
"pwa_theme_color": "#0175C2",
|
||||||
"split_per_abi": false,
|
"split_per_abi": false,
|
||||||
"options": null
|
"options": null
|
||||||
}
|
}
|
||||||
|
|
@ -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 = "out.log";
|
|
||||||
const errorExitCode = 100;
|
const errorExitCode = 100;
|
||||||
|
|
||||||
List<CreateControlFactory> createControlFactories = [
|
List<CreateControlFactory> createControlFactories = [
|
||||||
|
|
@ -55,9 +54,9 @@ if os.getenv("FLET_PLATFORM") == "android":
|
||||||
|
|
||||||
ssl._create_default_https_context = create_default_context
|
ssl._create_default_https_context = create_default_context
|
||||||
|
|
||||||
out_file = open("$outLogFilename", "w+", buffering=1)
|
out_file = open("{outLogFilename}", "w+", buffering=1)
|
||||||
|
|
||||||
callback_socket_addr = os.environ.get("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:
|
||||||
addr, port = callback_socket_addr.split(":")
|
addr, port = callback_socket_addr.split(":")
|
||||||
callback_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
callback_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
|
@ -77,6 +76,7 @@ sys.exit = flet_exit
|
||||||
|
|
||||||
ex = None
|
ex = None
|
||||||
try:
|
try:
|
||||||
|
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
|
||||||
|
|
@ -85,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() 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;
|
||||||
|
|
@ -111,10 +113,9 @@ void main() async {
|
||||||
pageUrl: pageUrl,
|
pageUrl: pageUrl,
|
||||||
assetsDir: assetsDir,
|
assetsDir: assetsDir,
|
||||||
hideLoadingPage: hideLoadingPage,
|
hideLoadingPage: hideLoadingPage,
|
||||||
createControlFactories: createControlFactories
|
createControlFactories: createControlFactories)
|
||||||
)
|
|
||||||
: FutureBuilder(
|
: FutureBuilder(
|
||||||
future: runPythonApp(),
|
future: runPythonApp(args),
|
||||||
builder:
|
builder:
|
||||||
(BuildContext context, AsyncSnapshot<String?> snapshot) {
|
(BuildContext context, AsyncSnapshot<String?> snapshot) {
|
||||||
if (snapshot.hasData || snapshot.hasError) {
|
if (snapshot.hasData || snapshot.hasError) {
|
||||||
|
|
@ -127,11 +128,10 @@ void main() async {
|
||||||
} else {
|
} else {
|
||||||
// no result of error
|
// no result of error
|
||||||
return FletApp(
|
return FletApp(
|
||||||
pageUrl: pageUrl,
|
pageUrl: pageUrl,
|
||||||
assetsDir: assetsDir,
|
assetsDir: assetsDir,
|
||||||
hideLoadingPage: hideLoadingPage,
|
hideLoadingPage: hideLoadingPage,
|
||||||
createControlFactories: createControlFactories
|
createControlFactories: createControlFactories);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else if (snapshot.hasError) {
|
} else if (snapshot.hasError) {
|
||||||
|
|
@ -186,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();
|
||||||
|
|
||||||
|
|
@ -204,8 +206,13 @@ Future prepareApp() async {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<String?> runPythonApp() async {
|
Future<String?> runPythonApp(List<String> args) async {
|
||||||
var script = pythonScript.replaceAll('{module_name}', pythonModuleName);
|
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<String>();
|
var completer = Completer<String>();
|
||||||
|
|
||||||
|
|
@ -338,4 +345,4 @@ Future<int> getUnusedPort() {
|
||||||
socket.close();
|
socket.close();
|
||||||
return port;
|
return port;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -11,7 +11,7 @@ dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
||||||
serious_python: 0.8.1
|
serious_python: 0.8.2
|
||||||
flet: 0.24.1
|
flet: 0.24.1
|
||||||
|
|
||||||
path: ^1.9.0
|
path: ^1.9.0
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
"short_name": "{{ cookiecutter.project_name }}",
|
"short_name": "{{ cookiecutter.project_name }}",
|
||||||
"start_url": ".",
|
"start_url": ".",
|
||||||
"display": "standalone",
|
"display": "standalone",
|
||||||
"background_color": "#0175C2",
|
"background_color": "{{ cookiecutter.pwa_background_color }}",
|
||||||
"theme_color": "#0175C2",
|
"theme_color": "{{ cookiecutter.pwa_theme_color }}",
|
||||||
"description": "{{ cookiecutter.project_description }}",
|
"description": "{{ cookiecutter.project_description }}",
|
||||||
"orientation": "portrait-primary",
|
"orientation": "portrait-primary",
|
||||||
"prefer_related_applications": false,
|
"prefer_related_applications": false,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue