'Main method of the WorkerUpdates worker'

def start(self):

    self.url = 'https://api.github.com/repos/spyder-ide/spyder/releases'
    self.update_available = False
    self.latest_release = __version__
    error_msg = None
    try:
        if hasattr(ssl, '_create_unverified_context'):
            context = ssl._create_unverified_context()
            page = urlopen(self.url, context=context)
        else:
            page = urlopen(self.url)
        try:
            data = page.read()
            if (not is_text_string(data)):
                data = data.decode()
            data = json.loads(data)
            releases = [item['tag_name'].replace('v', '') for item in data]
            version = __version__
            result = self.check_update_available(version, releases)
            (self.update_available, self.latest_release) = result
        except Exception:
            error_msg = _('Unable    to    retrieve    information.')
    except HTTPError:
        error_msg = _('Unable    to    retrieve    information.')
    except URLError:
        error_msg = _('Unable    to    connect    to    the    internet.    <br><br>Make    sure    the    connection    is    working    properly.')
    except Exception:
        error_msg = _('Unable    to    check    for    updates.')
    if (not (self.startup and (error_msg is not None))):
        self.error = error_msg
        self.sig_ready.emit()
