def publish(self, endpoint, wgt_file, user, request=None, template=None): if template is None: template = TemplateParser(wgt_file.get_template()) resource_info = template.get_resource_info() mimetypes = { 'widget': 'application/x-widget+mashable-application-component', 'operator': 'application/x-operator+mashable-application-component', 'mashup': 'application/x-mashup+mashable-application-component', } store = endpoint['store'] adaptor = get_market_adaptor(self._user, self._name) user_data = get_market_user_data(user, self._user, self._name) storeclient = adaptor.get_store(store) store_token_key = store + '/token' if store_token_key in user_data: token = user_data[store_token_key] else: token = user_data['idm_token'] storeclient.upload_resource( resource_info['title'], resource_info['version'], "_".join((resource_info['vendor'], resource_info['name'], resource_info['version'])) + '.wgt', resource_info['description'], mimetypes[resource_info['type']], wgt_file.get_underlying_file(), token )
def download_resource(self, user, url, endpoint): store = endpoint['store'] adaptor = get_market_adaptor(None, self._options['name']) user_data = get_market_user_data(user, self._options['user'], self._options['name']) storeclient = adaptor.get_store(store) return storeclient.download_resource(url, user_data[store + '/token'])
def publish(self, endpoint, wgt_file, user, request=None, template=None): if template is None: template = TemplateParser(wgt_file.get_template()) resource_info = template.get_resource_processed_info(lang='en') mimetypes = { 'widget': 'application/x-widget+mashable-application-component', 'operator': 'application/x-operator+mashable-application-component', 'mashup': 'application/x-mashup+mashable-application-component', } store = endpoint['store'] adaptor = get_market_adaptor(self._user, self._name) user_data = get_market_user_data(user, self._user, self._name) storeclient = adaptor.get_store(store) store_token_key = store + '/token' if store_token_key in user_data: token = user_data[store_token_key] else: token = user_data['idm_token'] wirecloud_plugin_supported = False try: supported_plugins = storeclient.get_supported_plugins(token) for plugin in supported_plugins: if plugin.get('name', '').lower() == 'wirecloud component': wirecloud_plugin_supported = True except UnexpectedResponse as e: if e.status != 404: raise e if wirecloud_plugin_supported: storeclient.upload_resource( resource_info['title'], resource_info['version'], "_".join((resource_info['vendor'], resource_info['name'], resource_info['version'])) + '.wgt', resource_info['description'], "Mashable application component", wgt_file.get_underlying_file(), token, resource_type="Wirecloud component") else: storeclient.upload_resource( resource_info['title'], resource_info['version'], "_".join((resource_info['vendor'], resource_info['name'], resource_info['version'])) + '.wgt', resource_info['description'], mimetypes[resource_info['type']], wgt_file.get_underlying_file(), token)
def publish(self, endpoint, wgt_file, user, request=None, template=None): if template is None: template = TemplateParser(wgt_file.get_template()) resource_info = template.get_resource_processed_info(lang='en') mimetypes = { 'widget': 'application/x-widget+mashable-application-component', 'operator': 'application/x-operator+mashable-application-component', 'mashup': 'application/x-mashup+mashable-application-component', } store = endpoint['store'] adaptor = get_market_adaptor(self._user, self._name) user_data = get_market_user_data(user, self._user, self._name) storeclient = adaptor.get_store(store) store_token_key = store + '/token' if store_token_key in user_data: token = user_data[store_token_key] else: token = user_data['idm_token'] wirecloud_plugin_supported = False try: supported_plugins = storeclient.get_supported_plugins(token) for plugin in supported_plugins: if plugin.get('name', '').lower() == 'wirecloud component': wirecloud_plugin_supported = True except UnexpectedResponse as e: if e.status != 404: raise e if wirecloud_plugin_supported: storeclient.upload_resource( resource_info['title'], resource_info['version'], "_".join((resource_info['vendor'], resource_info['name'], resource_info['version'])) + '.wgt', resource_info['description'], "Mashable application component", wgt_file.get_underlying_file(), token, resource_type="Wirecloud component") else: storeclient.upload_resource( resource_info['title'], resource_info['version'], "_".join( (resource_info['vendor'], resource_info['name'], resource_info['version'])) + '.wgt', resource_info['description'], mimetypes[resource_info['type']], wgt_file.get_underlying_file(), token)
def download_resource(self, user, url, endpoint): store = endpoint['store'] adaptor = get_market_adaptor(self._user, self._name) user_data = get_market_user_data(user, self._user, self._name) storeclient = adaptor.get_store(store) store_token_key = store + '/token' if store_token_key in user_data: token = user_data[store_token_key] else: token = user_data['idm_token'] return storeclient.download_resource(url, token)
def download_resource(self, user, url, endpoint): store = endpoint['store'] user_data = get_market_user_data(user, self._user, self._name) store_token_key = store + '/token' if store_token_key in user_data: token = user_data[store_token_key] else: token = user_data['idm_token'] headers = { 'Authorization': 'Bearer ' + token, } response = requests.get(url, headers=headers) if response.status_code not in (200, 201, 204): raise Exception(response) return response.content