From 2d2b3d31fa6c7c428def2267f0ba60fde8831622 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 3 Apr 2022 22:53:41 +0800 Subject: [PATCH 1/2] fix: https://github.com/r0x0r/pywebview/issues/879 --- webview/platforms/winforms.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/webview/platforms/winforms.py b/webview/platforms/winforms.py index 7627155a..7b9f9253 100644 --- a/webview/platforms/winforms.py +++ b/webview/platforms/winforms.py @@ -61,6 +61,16 @@ def _is_edge(): finally: winreg.CloseKey(net_key) +def _is_new_version(current_version,new_version): + new_range = new_version.split(".") + cur_range = current_version.split(".") + for index in range(len(new_range)): + if len(cur_range) > index: + if int(new_range[index]) > int(cur_range[index]): + return True + elif int(new_range[index]) < int(cur_range[index]): + return False + return False def _is_chromium(): def edge_build(key_type, key, description=''): @@ -74,9 +84,9 @@ def edge_build(key_type, key, description=''): register_key = rf'Computer\{key_type}\{path}' windows_key = winreg.OpenKey(getattr(winreg, key_type), rf'SOFTWARE\{path}') build, _ = winreg.QueryValueEx(windows_key, 'pv') - build = int(build.replace('.', '')[:6]) + #build = int(build.replace('.', '')[:6]) - return build + return str(build) except Exception as e: # Forming extra information extra_info = '' @@ -94,7 +104,7 @@ def edge_build(key_type, key, description=''): except: pass - return 0 + return '0' try: net_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full') @@ -114,7 +124,7 @@ def edge_build(key_type, key, description=''): for key_type in ('HKEY_CURRENT_USER', 'HKEY_LOCAL_MACHINE'): build = edge_build(key_type, item['key'], item['description']) - if build >= 860622: # Webview2 86.0.622.0 + if _is_new_version('86.0.622.0', build): # Webview2 86.0.622.0 return True except Exception as e: From 9c44b8be9fb892566da323f2bcb26a59249764a0 Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 5 Apr 2022 23:10:20 +0300 Subject: [PATCH 2/2] Cosmetic fixes --- webview/platforms/winforms.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/webview/platforms/winforms.py b/webview/platforms/winforms.py index 7b9f9253..f79f9ceb 100644 --- a/webview/platforms/winforms.py +++ b/webview/platforms/winforms.py @@ -61,15 +61,13 @@ def _is_edge(): finally: winreg.CloseKey(net_key) -def _is_new_version(current_version,new_version): +def _is_new_version(current_version, new_version): new_range = new_version.split(".") cur_range = current_version.split(".") for index in range(len(new_range)): if len(cur_range) > index: - if int(new_range[index]) > int(cur_range[index]): - return True - elif int(new_range[index]) < int(cur_range[index]): - return False + return int(new_range[index]) >= int(cur_range[index]) + return False def _is_chromium(): @@ -84,7 +82,6 @@ def edge_build(key_type, key, description=''): register_key = rf'Computer\{key_type}\{path}' windows_key = winreg.OpenKey(getattr(winreg, key_type), rf'SOFTWARE\{path}') build, _ = winreg.QueryValueEx(windows_key, 'pv') - #build = int(build.replace('.', '')[:6]) return str(build) except Exception as e: