Ejemplo n.º 1
0
    def _get_manifest_from_http(self):
        log.debug("Downloading online version file")
        version_files = [self.version_file, self.version_file_compat]

        for vf in version_files:
            try:
                if self.downloader:
                    fd = self.downloader(vf, self.update_urls)
                else:
                    fd = FileDownloader(
                        vf,
                        self.update_urls,
                        verify=self.verify,
                        urllb3_headers=self.urllib3_headers,
                    )
                data = fd.download_verify_return()
                try:
                    decompressed_data = _gzip_decompress(data)
                except IOError:
                    log.debug("Failed to decompress gzip file")
                    # Will be caught down below.
                    # Just logging the error
                    raise
                log.debug("Version file download successful")
                # Writing version file to application data directory
                self._write_manifest_to_filesystem(decompressed_data, vf)
                return decompressed_data
            except Exception as err:
                log.debug(err, exc_info=True)
                continue

        log.debug("Version file download failed")
        return None
Ejemplo n.º 2
0
 def _get_key_data(self):
     log.debug("Downloading key file")
     try:
         if self.downloader:
             fd = self.downloader(self.key_file, self.update_urls)
         else:
             fd = FileDownloader(
                 self.key_file,
                 self.update_urls,
                 verify=self.verify,
                 urllb3_headers=self.urllib3_headers,
             )
         data = fd.download_verify_return()
         try:
             decompressed_data = _gzip_decompress(data)
         except IOError:
             log.debug("Failed to decompress gzip file")
             raise
         log.debug("Key file download successful")
         # Writing version file to application data directory
         self._write_manifest_to_filesystem(decompressed_data, self.key_file)
         return decompressed_data
     except Exception as err:
         log.debug("Version file download failed")
         log.debug(err, exc_info=True)
         return None
Ejemplo n.º 3
0
    def _get_manifest_from_disk(self):
        with _ChDir(self.data_dir):
            # This could be the first run or an accidental deletion of the
            # cached version manifest.
            if not os.path.exists(self.version_file):
                log.debug('No version file on file system')
                return None
            else:
                log.debug('Found version file on file system')
                # Attempt to open the cached version file
                try:
                    with open(self.version_file, 'rb') as f:
                        data = f.read()
                    log.debug('Loaded version file from file system')
                except Exception as err:
                    log.debug('Failed to load version file from file '
                              'system')
                    log.debug(err, exc_info=True)
                    return None

                # Attempt the decompress
                try:
                    decompressed_data = _gzip_decompress(data)
                except Exception as err:
                    log.debug(err)
                    return None

                return decompressed_data
Ejemplo n.º 4
0
    def _get_manifest_from_disk(self):
        with _ChDir(self.data_dir):
            # This could be the first run or an accidental deletion of the
            # cached version manifest.
            if os.path.exists(self.version_file):
                filename = self.version_file
            elif os.path.exists(self.version_file_compat):
                filename = self.version_file_compat
            else:
                return None

            log.debug("Found version file on file system")
            # Attempt to open the cached version file
            try:
                with open(filename, "rb") as f:
                    data = f.read()
                log.debug("Loaded version file from file system")
            except Exception as err:
                log.debug("Failed to load version file from file " "system")
                log.debug(err, exc_info=True)
                return None

            # Attempt the decompress
            try:
                decompressed_data = _gzip_decompress(data)
            except Exception as err:
                log.debug(err)
                return None

            return decompressed_data
Ejemplo n.º 5
0
    def _get_manifest_from_disk(self):
        with _ChDir(self.data_dir):
            # This could be the first run or an accidental deletion of the
            # cached version manifest.
            if not os.path.exists(self.version_file):
                log.debug('No version file on file system')
                return None
            else:
                log.debug('Found version file on file system')
                # Attempt to open the cached version file
                try:
                    with open(self.version_file, 'rb') as f:
                        data = f.read()
                    log.debug('Loaded version file from file system')
                except Exception as err:
                    log.debug('Failed to load version file from file '
                              'system')
                    log.debug(err, exc_info=True)
                    return None

                # Attempt the decompress
                try:
                    decompressed_data = _gzip_decompress(data)
                except Exception as err:
                    log.debug(err)
                    return None

                return decompressed_data
Ejemplo n.º 6
0
    def _get_manifest_filesystem(self):
        data = None
        with _ChDir(self.data_dir):
            if not os.path.exists(self.version_file):
                log.debug('No version file on file system')
                return data
            else:
                log.debug('Found version file on file system')
                try:
                    with open(self.version_file, 'rb') as f:
                        data = f.read()
                    log.debug('Loaded version file from file system')
                except Exception as err:
                    # Whatever the error data is already set to None
                    log.debug('Failed to load version file from file '
                              'system')
                    log.debug(err, exc_info=True)
                # In case we don't have any data to pass
                # Catch the error here and just return None
                try:
                    decompressed_data = _gzip_decompress(data)
                except Exception as err:
                    decompressed_data = None

                return decompressed_data
Ejemplo n.º 7
0
 def _get_key_data(self):
     log.debug('Downloading key file')
     try:
         fd = _FD(self.key_file, self.update_urls, verify=self.verify)
         data = fd.download_verify_return()
         try:
             decompressed_data = _gzip_decompress(data)
         except IOError:
             log.debug('Failed to decompress gzip file')
             raise
         log.debug('Key file download successful')
         # Writing version file to application data directory
         self._write_manifest_2_filesystem(decompressed_data)
         return decompressed_data
     except Exception as err:
         log.debug('Version file download failed')
         log.debug(err, exc_info=True)
         return None
Ejemplo n.º 8
0
 def _get_key_data(self):
     log.debug('Downloading key file')
     try:
         fd = _FD(self.key_file, self.update_urls, verify=self.verify,
                  urllb3_headers=self.urllib3_headers)
         data = fd.download_verify_return()
         try:
             decompressed_data = _gzip_decompress(data)
         except IOError:
             log.debug('Failed to decompress gzip file')
             raise
         log.debug('Key file download successful')
         # Writing version file to application data directory
         self._write_manifest_2_filesystem(decompressed_data)
         return decompressed_data
     except Exception as err:
         log.debug('Version file download failed')
         log.debug(err, exc_info=True)
         return None
Ejemplo n.º 9
0
 def _get_manifest_from_http(self):
     log.debug('Downloading online version file')
     try:
         fd = _FD(self.version_file, self.update_urls, verify=self.verify)
         data = fd.download_verify_return()
         try:
             decompressed_data = _gzip_decompress(data)
         except IOError:
             log.debug('Failed to decompress gzip file')
             # Will be caught down below.
             # Just logging the error
             raise
         log.debug('Version file download successful')
         # Writing version file to application data directory
         self._write_manifest_2_filesystem(decompressed_data)
         return decompressed_data
     except Exception as err:
         log.debug('Version file download failed')
         log.debug(err, exc_info=True)
         return None