示例#1
0
        MarketplaceUtil.checkEndpointOption(options)


    def upload(self, manifestFilename):
        client = HttpClient(self.confHolder)
        if not os.path.exists(manifestFilename):
            raise InputException('Can\'t find metadata file: %s' % manifestFilename)

        manifest = open(manifestFilename).read()

        info = ManifestInfo(self.confHolder)
        info.parseManifest(manifest)

        url = MarketplaceUtil.metadataEndpointUrl(self.marketplaceEndpoint)
        try:
            client.post(url, manifest)
        except ClientException, ex:
            error = ''
            try:
                error = etree_from_text(ex.content).text
            except: pass
            raise ExecutionException("Failed to upload: %s: %s" % (ex.reason, error))
        except AttributeError, ex:
            raise ExecutionException("Failed to upload (post) to URL: %s" % url)

        finalUrl = MarketplaceUtil.metadataCompleteUrl(self.marketplaceEndpoint,
                                                       info.identifier,
                                                       info.email,
                                                       info.created)
        return finalUrl