Blame SOURCES/0001-connector-drop-updates-support-in-favour-of-Shell-3..patch

1576a8
From c8bff2cb5f2b3f01dd3f98adb7e8358d604b3c47 Mon Sep 17 00:00:00 2001
1576a8
From: Yuri Konotopov <ykonotopov@gnome.org>
1576a8
Date: Sun, 10 May 2020 14:22:47 +0400
1576a8
Subject: [PATCH] connector: drop updates support in favour of Shell 3.36
1576a8
 default behavior
1576a8
1576a8
Closes: https://gitlab.gnome.org/GNOME/chrome-gnome-shell/-/issues/19
1576a8
---
1576a8
 connector/chrome-gnome-shell.py | 91 +--------------------------------
1576a8
 1 file changed, 1 insertion(+), 90 deletions(-)
1576a8
1576a8
diff --git a/connector/chrome-gnome-shell.py b/connector/chrome-gnome-shell.py
1576a8
index 0bde4dd..6c84ba9 100755
1576a8
--- a/connector/chrome-gnome-shell.py
1576a8
+++ b/connector/chrome-gnome-shell.py
1576a8
@@ -23,12 +23,6 @@ import struct
1576a8
 import sys
1576a8
 import traceback
1576a8
 
1576a8
-REQUESTS_IMPORTED = True
1576a8
-try:
1576a8
-    import requests
1576a8
-except ImportError:
1576a8
-    REQUESTS_IMPORTED = False
1576a8
-
1576a8
 CONNECTOR_VERSION = 10
1576a8
 DEBUG_ENABLED = False
1576a8
 
1576a8
@@ -371,9 +365,7 @@ class ChromeGNOMEShell(Gio.Application):
1576a8
                 else:
1576a8
                     disable_version_check = False
1576a8
 
1576a8
-                supports = ['notifications', "update-enabled"]
1576a8
-                if REQUESTS_IMPORTED:
1576a8
-                    supports.append('update-check')
1576a8
+                supports = ['notifications']
1576a8
 
1576a8
                 self.send_message(
1576a8
                     {
1576a8
@@ -474,16 +466,6 @@ class ChromeGNOMEShell(Gio.Application):
1576a8
                                     GLib.Variant.new_tuple(GLib.Variant.new_string(request['uuid'])),
1576a8
                                     "status")
1576a8
 
1576a8
-        elif request['execute'] == 'checkUpdate':
1576a8
-            update_url = 'https://extensions.gnome.org/update-info/'
1576a8
-            enabled_only = True
1576a8
-            if 'url' in request:
1576a8
-                update_url = request['url']
1576a8
-
1576a8
-            if 'enabledOnly' in request:
1576a8
-                enabled_only = request['enabledOnly']
1576a8
-
1576a8
-            self.check_update(update_url, enabled_only)
1576a8
 
1576a8
         elif request['execute'] == 'createNotification':
1576a8
             Gio.DBusActionGroup.get(
1576a8
@@ -502,77 +484,6 @@ class ChromeGNOMEShell(Gio.Application):
1576a8
 
1576a8
         debug('Execute: from %s' % request['execute'])
1576a8
 
1576a8
-    def check_update(self, update_url, enabled_only):
1576a8
-        result = self.shell_proxy.call_sync(
1576a8
-            "ListExtensions",
1576a8
-            None,
1576a8
-            Gio.DBusCallFlags.NONE,
1576a8
-            -1,
1576a8
-            None
1576a8
-        )
1576a8
-
1576a8
-        extensions = result.unpack()[0]
1576a8
-        settings = Gio.Settings.new(SHELL_SCHEMA)
1576a8
-        enabled_extensions = settings.get_strv(ENABLED_EXTENSIONS_KEY)
1576a8
-
1576a8
-        if extensions:
1576a8
-            http_request = {
1576a8
-                'shell_version': self.shell_proxy.get_cached_property("ShellVersion").unpack(),
1576a8
-                'installed': {}
1576a8
-            }
1576a8
-
1576a8
-            for uuid in extensions:
1576a8
-                # gnome-shell/js/misc/extensionUtils.js
1576a8
-                # EXTENSION_TYPE.PER_USER = 2
1576a8
-                if is_uuid(uuid) and extensions[uuid]['type'] == 2 and (not enabled_only or uuid in enabled_extensions):
1576a8
-                    try:
1576a8
-                        http_request['installed'][uuid] = {
1576a8
-                            'version': int(extensions[uuid]['version'])
1576a8
-                        }
1576a8
-                    except (ValueError, KeyError):
1576a8
-                        http_request['installed'][uuid] = {
1576a8
-                            'version': 1
1576a8
-                        }
1576a8
-
1576a8
-            http_request['installed'] = json.dumps(http_request['installed'])
1576a8
-
1576a8
-            proxies = Gio.ProxyResolver.get_default().lookup(update_url)
1576a8
-            if proxies is not None:
1576a8
-                proxy = proxies[0]
1576a8
-                if proxy.startswith('direct'):
1576a8
-                    proxies = None
1576a8
-                else:
1576a8
-                    proxies = {}
1576a8
-                    for scheme in ('http', 'https'):
1576a8
-                        proxies[scheme] = proxy
1576a8
-
1576a8
-            try:
1576a8
-                response = requests.get(
1576a8
-                    update_url,
1576a8
-                    params=http_request,
1576a8
-                    proxies=proxies,
1576a8
-                    timeout=5
1576a8
-                )
1576a8
-                response.raise_for_status()
1576a8
-                self.send_message({
1576a8
-                    'success': True,
1576a8
-                    'extensions': extensions,
1576a8
-                    'upgrade': response.json()}
1576a8
-                )
1576a8
-            except (
1576a8
-                    requests.ConnectionError, requests.HTTPError, requests.Timeout,
1576a8
-                    requests.TooManyRedirects, requests.RequestException, ValueError
1576a8
-                    ) as ex:
1576a8
-                error_message = str(ex.message) if hasattr(ex, 'message') else str(ex)
1576a8
-                log_error('Unable to check extensions updates: %s' % error_message)
1576a8
-
1576a8
-                request_url = ex.response.url if ex.response is not None else ex.request.url
1576a8
-                if request_url:
1576a8
-                    url_parameters = request_url.replace(update_url, "")
1576a8
-                    error_message = error_message.replace(url_parameters, "…")
1576a8
-
1576a8
-                self.send_message({'success': False, 'message': error_message})
1576a8
-
1576a8
 
1576a8
 if __name__ == '__main__':
1576a8
     debug('Main. Use Ctrl+D to quit.')
1576a8
-- 
1576a8
2.29.2
1576a8