Beispiel #1
0
 def _retrieve_packaged(self):
     retrieve_api = ApiRetrievePackaged(
         self, self.options['package'],
         self.project_config.project__package__api_version)
     packaged = retrieve_api()
     packaged = zip_subfolder(packaged, self.options['package'])
     return packaged
 def _process_response(self, response):
     # Parse the metadata zip file from the response
     zipstr = parseString(response.content).getElementsByTagName("zipFile")
     if zipstr:
         zipstr = zipstr[0].firstChild.nodeValue
     zipstringio = io.BytesIO(base64.b64decode(zipstr))
     zipfile = ZipFile(zipstringio, "r")
     zipfile = zip_subfolder(zipfile, "unpackaged")
     return zipfile
Beispiel #3
0
 def _process_response(self, response):
     # Parse the metadata zip file from the response
     zipstr = parseString(response.content).getElementsByTagName("zipFile")
     if zipstr:
         zipstr = zipstr[0].firstChild.nodeValue
     zipstringio = io.BytesIO(base64.b64decode(zipstr))
     zipfile = ZipFile(zipstringio, "r")
     zipfile = zip_subfolder(zipfile, "unpackaged")
     return zipfile
 def _retrieve_packaged(self):
     retrieve_api = ApiRetrievePackaged(
         self,
         self.options["package"],
         self.project_config.project__package__api_version,
     )
     packaged = retrieve_api()
     packaged = zip_subfolder(packaged, self.options["package"])
     return packaged
Beispiel #5
0
 def _process_response(self, response):
     # Parse the metadata zip file from the response
     zipstr = parseString(response.content).getElementsByTagName('zipFile')
     if zipstr:
         zipstr = zipstr[0].firstChild.nodeValue
     else:
         return self.packages
     zipstringio = StringIO.StringIO(base64.b64decode(zipstr))
     zipfile = ZipFile(zipstringio, 'r')
     zipfile = zip_subfolder(zipfile, 'unpackaged')
     return zipfile
Beispiel #6
0
 def __init__(self, task, version, purge_on_delete=False):
     self.version = version
     # Construct and set the package_zip file
     if self.version.number:
         self.package_zip = PackageZipBuilder(
             self.version.package.namespace,
             self.version.number).install_package()
     elif self.version.zip_url or self.version.repo_url:
         if self.version.repo_url:
             repo_url = self.version.repo_url
             git_ref = self.version.branch
             if installation_step.installation.git_ref:
                 git_ref = installation_step.installation.git_ref
             if installation_step.installation.fork:
                 repo_url_parts = repo_url.split('/')
                 repo_url_parts[3] = installation_step.installation.fork
                 repo_url = '/'.join(repo_url_parts)
             zip_url = '%s/archive/%s.zip' % (repo_url, git_ref)
         else:
             zip_url = self.version.zip_url
         # Deploy a zipped bundled downloaded from a URL
         try:
             zip_resp = requests.get(zip_url)
         except:
             raise ValueError('Failed to fetch zip from %s' %
                              self.version.zip_url)
         zipfp = StringIO.StringIO(zip_resp.content)
         zipfile = ZipFile(zipfp, 'r')
         if not self.version.subfolder and not self.version.repo_url:
             zipfile.close()
             zipfp.seek(0)
             self.package_zip = base64.b64encode(zipfp.read())
         else:
             ignore_prefix = ''
             if self.version.repo_url:
                 # Get the top level folder from the zip
                 ignore_prefix = '%s/' % zipfile.namelist()[0].split('/')[0]
             # Extract a subdirectory from the zip
             subdirectory = ignore_prefix + self.version.subfolder
             subzip = zip_subfolder(zipfile, subdirectory,
                                    self.version.namespace_token,
                                    self.version.namespace)
             subzipfp = subzip.fp
             subzip.close()
             subzipfp.seek(0)
             self.package_zip = base64.b64encode(subzipfp.read())
     super(ApiInstallVersion, self).__init__(task, self.package_zip,
                                             purge_on_delete)
 def _extract_zip(self, src_zip):
     src_zip = zip_subfolder(src_zip, self.options.get('package'))
     super(RetrievePackaged, self)._extract_zip(src_zip)
 def _extract_zip(self, src_zip):
     src_zip = zip_subfolder(src_zip, self.options.get("package"))
     super(RetrievePackaged, self)._extract_zip(src_zip)