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:
Feodor Fitsner 2024-11-05 09:40:08 -08:00 committed by GitHub
parent 1a557571ff
commit 287ee5350f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 27 additions and 18 deletions

View File

@ -17,6 +17,8 @@
"route_url_strategy": "path",
"web_renderer": "canvaskit",
"use_color_emoji": "false",
"pwa_background_color": "#FFFFFF",
"pwa_theme_color": "#0175C2",
"split_per_abi": false,
"options": null
}

View File

@ -22,7 +22,6 @@ const pythonModuleName = "{{ cookiecutter.python_module_name }}";
final hideLoadingPage =
bool.tryParse("{{ cookiecutter.hide_loading_animation }}".toLowerCase()) ??
true;
const outLogFilename = "out.log";
const errorExitCode = 100;
List<CreateControlFactory> createControlFactories = [
@ -55,9 +54,9 @@ if os.getenv("FLET_PLATFORM") == "android":
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:
addr, port = callback_socket_addr.split(":")
callback_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
@ -77,6 +76,7 @@ sys.exit = flet_exit
ex = None
try:
sys.argv = {argv}
runpy.run_module("{module_name}", run_name="__main__")
except Exception as e:
ex = e
@ -85,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<String, String> environmentVariables = {};
void main() async {
void main(List<String> args) async {
if (isProduction) {
// ignore: avoid_returning_null_for_void
debugPrint = (String? message, {int? wrapWidth}) => null;
@ -111,10 +113,9 @@ void main() async {
pageUrl: pageUrl,
assetsDir: assetsDir,
hideLoadingPage: hideLoadingPage,
createControlFactories: createControlFactories
)
createControlFactories: createControlFactories)
: FutureBuilder(
future: runPythonApp(),
future: runPythonApp(args),
builder:
(BuildContext context, AsyncSnapshot<String?> snapshot) {
if (snapshot.hasData || snapshot.hasError) {
@ -127,11 +128,10 @@ void main() 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) {
@ -186,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();
@ -204,8 +206,13 @@ Future prepareApp() async {
return "";
}
Future<String?> runPythonApp() async {
var script = pythonScript.replaceAll('{module_name}', pythonModuleName);
Future<String?> runPythonApp(List<String> 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<String>();

View File

@ -11,7 +11,7 @@ dependencies:
flutter:
sdk: flutter
serious_python: 0.8.1
serious_python: 0.8.2
flet: 0.24.1
path: ^1.9.0

View File

@ -3,8 +3,8 @@
"short_name": "{{ cookiecutter.project_name }}",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
"theme_color": "#0175C2",
"background_color": "{{ cookiecutter.pwa_background_color }}",
"theme_color": "{{ cookiecutter.pwa_theme_color }}",
"description": "{{ cookiecutter.project_description }}",
"orientation": "portrait-primary",
"prefer_related_applications": false,