Add bundled bus fonts and shared font favorites

This commit is contained in:
2026-10-12 15:00:40 +08:00
parent c9dd03c23b
commit 4be74a34f9
181 changed files with 2078575 additions and 76 deletions
@@ -0,0 +1,235 @@
8d99e3cb8c63490e019dd3d567ba874dd75c250dc9b94fb0fb6097717568970d /run/[private]-screen-controller/bus-font-20261012/payload.tar
==================================== ERRORS ====================================
___________________ ERROR collecting tests/test_bus_font.py ____________________
app/ota/versioning.py:36: in read_software_version
return SoftwareVersion.parse(path.read_text(encoding="utf-8"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1059: in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1045: in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/run/[private]-screen-controller/bus-font-20261012/candidate/VERSION'
The above exception was the direct cause of the following exception:
tests/test_bus_font.py:16: in <module>
from app.main import create_app
app/main.py:2106: in <module>
app = create_app(ui_copy_editor_build_enabled=UI_COPY_EDITOR_BUILD_ENABLED)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/main.py:449: in create_app
software_version = read_software_version(code_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/ota/versioning.py:38: in read_software_version
raise RuntimeError(f"software VERSION file is unreadable: {path}") from exc
E RuntimeError: software VERSION file is unreadable: /run/[private]-screen-controller/bus-font-20261012/candidate/VERSION
_____________________ ERROR collecting tests/test_fonts.py _____________________
app/ota/versioning.py:36: in read_software_version
return SoftwareVersion.parse(path.read_text(encoding="utf-8"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1059: in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1045: in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/run/[private]-screen-controller/bus-font-20261012/candidate/VERSION'
The above exception was the direct cause of the following exception:
tests/test_fonts.py:12: in <module>
from app.main import create_app
app/main.py:2106: in <module>
app = create_app(ui_copy_editor_build_enabled=UI_COPY_EDITOR_BUILD_ENABLED)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/main.py:449: in create_app
software_version = read_software_version(code_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/ota/versioning.py:38: in read_software_version
raise RuntimeError(f"software VERSION file is unreadable: {path}") from exc
E RuntimeError: software VERSION file is unreadable: /run/[private]-screen-controller/bus-font-20261012/candidate/VERSION
_________________ ERROR collecting tests/test_scene_layers.py __________________
app/ota/versioning.py:36: in read_software_version
return SoftwareVersion.parse(path.read_text(encoding="utf-8"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1059: in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1045: in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/run/[private]-screen-controller/bus-font-20261012/candidate/VERSION'
The above exception was the direct cause of the following exception:
/usr/lib/python3.11/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<frozen importlib._bootstrap>:1206: in _gcd_import
???
<frozen importlib._bootstrap>:1178: in _find_and_load
???
<frozen importlib._bootstrap>:1149: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:690: in _load_unlocked
???
/opt/[private]-screen-controller/.venv/lib/python3.11/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
exec(co, module.__dict__)
/opt/[private]-screen-controller.stage.animation-20261010-094a526b/tests/test_scene_layers.py:11: in <module>
???
app/main.py:2106: in <module>
app = create_app(ui_copy_editor_build_enabled=UI_COPY_EDITOR_BUILD_ENABLED)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/main.py:449: in create_app
software_version = read_software_version(code_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/ota/versioning.py:38: in read_software_version
raise RuntimeError(f"software VERSION file is unreadable: {path}") from exc
E RuntimeError: software VERSION file is unreadable: /run/[private]-screen-controller/bus-font-20261012/candidate/VERSION
___________________ ERROR collecting tests/test_templates.py ___________________
app/ota/versioning.py:36: in read_software_version
return SoftwareVersion.parse(path.read_text(encoding="utf-8"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1059: in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1045: in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/run/[private]-screen-controller/bus-font-20261012/candidate/VERSION'
The above exception was the direct cause of the following exception:
/usr/lib/python3.11/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<frozen importlib._bootstrap>:1206: in _gcd_import
???
<frozen importlib._bootstrap>:1178: in _find_and_load
???
<frozen importlib._bootstrap>:1149: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:690: in _load_unlocked
???
/opt/[private]-screen-controller/.venv/lib/python3.11/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
exec(co, module.__dict__)
/opt/[private]-screen-controller.stage.animation-20261010-094a526b/tests/test_templates.py:10: in <module>
???
app/main.py:2106: in <module>
app = create_app(ui_copy_editor_build_enabled=UI_COPY_EDITOR_BUILD_ENABLED)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/main.py:449: in create_app
software_version = read_software_version(code_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/ota/versioning.py:38: in read_software_version
raise RuntimeError(f"software VERSION file is unreadable: {path}") from exc
E RuntimeError: software VERSION file is unreadable: /run/[private]-screen-controller/bus-font-20261012/candidate/VERSION
______________________ ERROR collecting tests/test_api.py ______________________
app/ota/versioning.py:36: in read_software_version
return SoftwareVersion.parse(path.read_text(encoding="utf-8"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1059: in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1045: in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/run/[private]-screen-controller/bus-font-20261012/candidate/VERSION'
The above exception was the direct cause of the following exception:
/usr/lib/python3.11/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<frozen importlib._bootstrap>:1206: in _gcd_import
???
<frozen importlib._bootstrap>:1178: in _find_and_load
???
<frozen importlib._bootstrap>:1149: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:690: in _load_unlocked
???
/opt/[private]-screen-controller/.venv/lib/python3.11/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
exec(co, module.__dict__)
/opt/[private]-screen-controller.stage.animation-20261010-094a526b/tests/test_api.py:11: in <module>
???
app/main.py:2106: in <module>
app = create_app(ui_copy_editor_build_enabled=UI_COPY_EDITOR_BUILD_ENABLED)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/main.py:449: in create_app
software_version = read_software_version(code_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/ota/versioning.py:38: in read_software_version
raise RuntimeError(f"software VERSION file is unreadable: {path}") from exc
E RuntimeError: software VERSION file is unreadable: /run/[private]-screen-controller/bus-font-20261012/candidate/VERSION
=========================== short test summary info ============================
ERROR tests/test_bus_font.py - RuntimeError: software VERSION file is unreada...
ERROR tests/test_fonts.py - RuntimeError: software VERSION file is unreadable...
ERROR tests/test_scene_layers.py - RuntimeError: software VERSION file is unr...
ERROR tests/test_templates.py - RuntimeError: software VERSION file is unread...
ERROR tests/test_api.py - RuntimeError: software VERSION file is unreadable: ...
!!!!!!!!!!!!!!!!!!! Interrupted: 5 errors during collection !!!!!!!!!!!!!!!!!!!!
5 errors in 8.77s
8d99e3cb8c63490e019dd3d567ba874dd75c250dc9b94fb0fb6097717568970d /run/[private]-screen-controller/bus-font-20261012/payload.tar
.....................s........................................F..... [100%]
=================================== FAILURES ===================================
____ test_systemd_preserves_runtime_marker_across_service_stop_and_restart _____
/opt/[private]-screen-controller.stage.animation-20261010-094a526b/tests/test_api.py:1144: in test_systemd_preserves_runtime_marker_across_service_stop_and_restart
???
/usr/lib/python3.11/pathlib.py:1059: in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.11/pathlib.py:1045: in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/run/[private]-screen-controller/bus-font-20261012/candidate/systemd/[private]-screen-controller.service'
=========================== short test summary info ============================
FAILED tests/test_api.py::test_systemd_preserves_runtime_marker_across_service_stop_and_restart
1 failed, 66 passed, 1 skipped, 165 warnings in 239.70s (0:03:59)
8d99e3cb8c63490e019dd3d567ba874dd75c250dc9b94fb0fb6097717568970d /run/[private]-screen-controller/bus-font-20261012/payload.tar
. [100%]
1 passed, 67 deselected, 4 warnings in 7.18s
{"result": "deployed", "preserved_files": 446, "added_fonts": 1, "runtime_survived_stop": true, "manifest": {"id": "builtin:walnut-bus-8x16", "file": "WalnutBus8x16.ttf", "sha256": "d38bf29d6408a6f731865a1ca760a80b5156ebf6ab96d5ad8d649df28163564c", "label": "核桃公交窄体(推荐16px)", "family": "核桃公交窄体", "style": "Regular", "glyph_count": 6884, "recommended_size": 16, "cell": [8, 16]}, "status_keys": ["frp", "mobile", "network", "ok", "power", "resources", "screen", "service", "state", "system", "ui"]}
{
"result": "deployed",
"preserved_files": 446,
"added_fonts": 1,
"runtime_survived_stop": true,
"manifest": {
"id": "builtin:walnut-bus-8x16",
"file": "WalnutBus8x16.ttf",
"sha256": "d38bf29d6408a6f731865a1ca760a80b5156ebf6ab96d5ad8d649df28163564c",
"label": "核桃公交窄体(推荐16px)",
"family": "核桃公交窄体",
"style": "Regular",
"glyph_count": 6884,
"recommended_size": 16,
"cell": [
8,
16
]
},
"status_keys": [
"frp",
"mobile",
"network",
"ok",
"power",
"resources",
"screen",
"service",
"state",
"system",
"ui"
]
}