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
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 else: return self.packages zipstringio = StringIO.StringIO(base64.b64decode(zipstr)) zipfile = ZipFile(zipstringio, 'r') zipfile = zip_subfolder(zipfile, 'unpackaged') return zipfile
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)