mirror of
https://git.srhtnin.garden/sarah/SaraSuite.git
synced 2026-10-15 02:33:17 +02:00
Bundle libsecret for systems without it; first launch keeps Flet's message off the client path
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
61c992f959
commit
5890b52da6
4 files changed
+122
-1
No files matched your search
@@ -38,6 +38,23 @@ else:
|
||||
_MenuLabel = "Start menu" if IsWindows else "app menu"
|
||||
|
||||
|
||||
def _KeepFallbackLibraries() -> None:
|
||||
"""Linux AppImage: copy the bundled libsecret (and what it needs) to
|
||||
~/.local/share/SaraSuite/Libraries, for FletIdentity.py to give the Flet
|
||||
client of every installed program on systems without it."""
|
||||
Bundled = Path(getattr(sys, "_MEIPASS", "")) / "FallbackLibs"
|
||||
if IsWindows or not Bundled.is_dir():
|
||||
return
|
||||
Kept = DataDir / "Libraries"
|
||||
try:
|
||||
Kept.mkdir(parents=True, exist_ok=True)
|
||||
for Library in Bundled.iterdir():
|
||||
if not (Kept / Library.name).exists() or (Kept / Library.name).stat().st_size != Library.stat().st_size:
|
||||
shutil.copy2(Library, Kept / Library.name)
|
||||
except OSError:
|
||||
pass # only a fallback
|
||||
|
||||
|
||||
def _LoadFletIdentity():
|
||||
# Lives in Programs/ (bundled as data) because installed programs get a
|
||||
# copy of the same file next to them.
|
||||
@@ -324,6 +341,7 @@ def Main(Page: ft.Page) -> None:
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
_KeepFallbackLibraries() # also before a command (an install from the command line)
|
||||
if len(sys.argv) > 1:
|
||||
if IsWindows and getattr(sys, "frozen", False):
|
||||
# The .exe is built windowed (no console of its own); write the
|
||||
|
||||
Reference in new issue
Block a user