当前位置: 首页>>代码示例>>Python>>正文


Python TemplateParser.get_resource_processed_info方法代码示例

本文整理汇总了Python中wirecloud.commons.utils.template.TemplateParser.get_resource_processed_info方法的典型用法代码示例。如果您正苦于以下问题:Python TemplateParser.get_resource_processed_info方法的具体用法?Python TemplateParser.get_resource_processed_info怎么用?Python TemplateParser.get_resource_processed_info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wirecloud.commons.utils.template.TemplateParser的用法示例。


在下文中一共展示了TemplateParser.get_resource_processed_info方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: buildWorkspaceFromTemplate

# 需要导入模块: from wirecloud.commons.utils.template import TemplateParser [as 别名]
# 或者: from wirecloud.commons.utils.template.TemplateParser import get_resource_processed_info [as 别名]
def buildWorkspaceFromTemplate(template, user, allow_renaming=False, new_name=None):

    if not isinstance(template, TemplateParser):
        template = TemplateParser(template)

    if template.get_resource_type() != 'mashup':
        raise TypeError('Unsupported resource type: %s' % template.get_resource_type())

    if new_name is not None:
        name = new_name
    else:
        name = template.get_resource_processed_info(process_urls=False)['title']

    # Workspace creation
    workspace = Workspace(name=name, creator=user)
    if allow_renaming:
        save_alternative(Workspace, 'name', workspace)
    else:
        workspace.save()

    # Adding user reference to workspace in the many to many relationship
    user_workspace = UserWorkspace(user=user, workspace=workspace, active=False)
    user_workspace.save()

    fillWorkspaceUsingTemplate(workspace, template)

    return (workspace, user_workspace)
开发者ID:rachmadagitam,项目名称:apps.Wirecloud,代码行数:29,代码来源:mashupTemplateParser.py

示例2: buildWorkspaceFromTemplate

# 需要导入模块: from wirecloud.commons.utils.template import TemplateParser [as 别名]
# 或者: from wirecloud.commons.utils.template.TemplateParser import get_resource_processed_info [as 别名]
def buildWorkspaceFromTemplate(template, user, allow_renaming=False, new_name=None, new_title=None, searchable=True, public=False):

    if not isinstance(template, TemplateParser):
        template = TemplateParser(template)

    if template.get_resource_type() != 'mashup':
        raise TypeError('Unsupported resource type: %s' % template.get_resource_type())

    if (new_name is None or new_name.strip() == '') and (new_title is None or new_title.strip() == ''):
        processed_info = template.get_resource_processed_info(process_urls=False)
        new_name = processed_info['name']
        new_title = processed_info['title']
    elif new_title is None or new_title.strip() == '':
        new_title = new_name
    elif new_name is None or new_name.strip() == '':
        new_name = URLify(new_title)

    # Workspace creation
    workspace = Workspace(title=new_title, name=new_name, creator=user, searchable=searchable, public=public)
    if allow_renaming:
        save_alternative(Workspace, 'name', workspace)
    else:
        workspace.save()

    # Adding user reference to workspace in the many to many relationship
    user_workspace = UserWorkspace(user=user, workspace=workspace)
    user_workspace.save()

    fillWorkspaceUsingTemplate(workspace, template)

    return (workspace, user_workspace)
开发者ID:Wirecloud,项目名称:wirecloud,代码行数:33,代码来源:mashupTemplateParser.py

示例3: publish

# 需要导入模块: from wirecloud.commons.utils.template import TemplateParser [as 别名]
# 或者: from wirecloud.commons.utils.template.TemplateParser import get_resource_processed_info [as 别名]
    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)
开发者ID:rachmadagitam,项目名称:apps.Wirecloud,代码行数:55,代码来源:plugins.py

示例4: _handle

# 需要导入模块: from wirecloud.commons.utils.template import TemplateParser [as 别名]
# 或者: from wirecloud.commons.utils.template.TemplateParser import get_resource_processed_info [as 别名]
    def _handle(self, *args, **options):
        if len(args) < 1:
            raise CommandError(_('Wrong number of arguments'))

        self.verbosity = int(options.get('verbosity', 1))

        users = []
        groups = []
        redeploy = options['redeploy']
        public = options['public']
        users_string = options['users'].strip()
        groups_string = options['groups'].strip()

        if redeploy is False and public is False and users_string == '' and groups_string == '':
            raise CommandError(_('You must use at least one of the following flags: --redeploy, --users, --groups or --public '))

        if not options['redeploy']:

            if users_string != '':
                for username in users_string.split(','):
                    users.append(User.objects.get(username=username))

            if groups_string != '':
                for groupname in groups_string.split(','):
                    groups.append(Group.objects.get(name=groupname))

        for file_name in args:
            try:
                f = open(file_name, 'rb')
                wgt_file = WgtFile(f)
            except:
                self.log(_('Failed to read from %(file_name)s') % {'file_name': file_name}, level=1)
                continue

            try:
                template_contents = wgt_file.get_template()
                template = TemplateParser(template_contents)
                if options['redeploy']:
                    add_packaged_resource(f, None, wgt_file=wgt_file, template=template, deploy_only=True)
                else:
                    for user in users:
                        install_resource_to_user(user, file_contents=wgt_file)

                    for group in groups:
                        install_resource_to_group(group, file_contents=wgt_file)

                    if public:
                        install_resource_to_all_users(file_contents=wgt_file)

                wgt_file.close()
                f.close()
                self.log(_('Successfully imported \"%(name)s\" from \"%(file_name)s\"') % {'name': template.get_resource_processed_info()['title'], 'file_name': file_name}, level=1)
            except:
                self.log(_('Failed to import the mashable application component from %(file_name)s') % {'file_name': file_name}, level=1)
开发者ID:perezdf,项目名称:wirecloud,代码行数:56,代码来源:addtocatalogue.py


注:本文中的wirecloud.commons.utils.template.TemplateParser.get_resource_processed_info方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。