diff options
Diffstat (limited to 'g4f/gui')
-rw-r--r-- | g4f/gui/webview.py | 27 | ||||
-rw-r--r-- | g4f/gui/webview.spec | 45 |
2 files changed, 66 insertions, 6 deletions
diff --git a/g4f/gui/webview.py b/g4f/gui/webview.py index 5a4263dc..16f143c4 100644 --- a/g4f/gui/webview.py +++ b/g4f/gui/webview.py @@ -1,24 +1,39 @@ import webview from functools import partial -from platformdirs import user_config_dir +try: + from platformdirs import user_config_dir + has_platformdirs = True +except ImportError: + has_platformdirs = False from g4f.gui import run_gui from g4f.gui.run import gui_parser import g4f.version import g4f.debug -def run_webview(host: str = "0.0.0.0", port: int = 8080, debug: bool = True): - webview.create_window(f"g4f - {g4f.version.utils.current_version}", f"http://{host}:{port}/") - if debug: - g4f.debug.logging = True +def run_webview( + host: str = "0.0.0.0", + port: int = 8080, + debug: bool = False, + storage_path: str = None +): + webview.create_window( + f"g4f - {g4f.version.utils.current_version}", + f"http://{host}:{port}/", + text_select=True + ) + if has_platformdirs and storage_path is None: + storage_path = user_config_dir("g4f-webview") webview.start( partial(run_gui, host, port), private_mode=False, - storage_path=user_config_dir("g4f-webview"), + storage_path=storage_path, debug=debug ) if __name__ == "__main__": parser = gui_parser() args = parser.parse_args() + if args.debug: + g4f.debug.logging = True run_webview(args.host, args.port, args.debug)
\ No newline at end of file diff --git a/g4f/gui/webview.spec b/g4f/gui/webview.spec new file mode 100644 index 00000000..360e264e --- /dev/null +++ b/g4f/gui/webview.spec @@ -0,0 +1,45 @@ +# -*- mode: python ; coding: utf-8 -*- + + +block_cipher = None + + +a = Analysis( + ['webview.py'], + pathex=[], + binaries=[], + datas=[], + hiddenimports=[], + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False, +) +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + Tree('client', prefix='client'), + a.zipfiles, + a.datas, + [], + name='webview', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + upx_exclude=[], + runtime_tmpdir=None, + console=False, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, +) |