本文整理汇总了Python中wirecloud.commons.utils.template.TemplateParser.typeText2typeCode方法的典型用法代码示例。如果您正苦于以下问题:Python TemplateParser.typeText2typeCode方法的具体用法?Python TemplateParser.typeText2typeCode怎么用?Python TemplateParser.typeText2typeCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wirecloud.commons.utils.template.TemplateParser
的用法示例。
在下文中一共展示了TemplateParser.typeText2typeCode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_widget_from_template
# 需要导入模块: from wirecloud.commons.utils.template import TemplateParser [as 别名]
# 或者: from wirecloud.commons.utils.template.TemplateParser import typeText2typeCode [as 别名]
def create_widget_from_template(template, user, request=None, base=None):
"""Creates a widget from a template"""
if isinstance(template, TemplateParser):
parser = template
else:
template_content = download_http_content(template, user=user)
if base is None:
base = template
parser = TemplateParser(template_content, base=base)
if parser.get_resource_type() != 'widget':
raise Exception()
widget_info = parser.get_resource_info()
check_requirements(widget_info)
widget = Widget()
widget.resource = CatalogueResource.objects.get(vendor=parser.get_resource_vendor(), short_name=parser.get_resource_name(), version=parser.get_resource_version())
widget_code = parser.get_absolute_url(widget_info['contents']['src'], base)
widget.xhtml = XHTML.objects.create(
uri=widget.uri + "/xhtml",
url=widget_code,
content_type=widget_info['contents']['contenttype'],
use_platform_style=widget_info['contents']['useplatformstyle'],
cacheable=widget_info['contents']['cacheable']
)
widget.width = widget_info['widget_width']
widget.height = widget_info['widget_height']
widget.save()
for preference in widget_info['preferences']:
vDef = VariableDef.objects.create(
name=preference['name'],
type=parser.typeText2typeCode(preference['type']),
aspect='PREF',
readonly=preference['readonly'],
default_value=preference['default'],
value=preference['value'],
widget=widget,
secure=preference['secure']
)
for prop in widget_info['properties']:
vDef = VariableDef.objects.create(
name=prop['name'],
type=parser.typeText2typeCode(prop['type']),
aspect='PROP',
default_value=prop['default'],
widget=widget,
secure=prop['secure'],
)
return widget
示例2: create_widget_from_template
# 需要导入模块: from wirecloud.commons.utils.template import TemplateParser [as 别名]
# 或者: from wirecloud.commons.utils.template.TemplateParser import typeText2typeCode [as 别名]
def create_widget_from_template(template, user, request=None, base=None):
"""Creates a widget from a template"""
if isinstance(template, TemplateParser):
parser = template
else:
template_content = downloader.download_http_content(template, user=user)
if base is None:
base = template
parser = TemplateParser(template_content, base=base)
if parser.get_resource_type() != 'widget':
raise Exception()
widget_info = parser.get_resource_info()
check_requirements(widget_info)
widget = Widget()
widget.resource = CatalogueResource.objects.get(vendor=parser.get_resource_vendor(), short_name=parser.get_resource_name(), version=parser.get_resource_version())
widget_code = parser.get_absolute_url(widget_info['code_url'], base)
widget.xhtml = XHTML.objects.create(
uri=widget.uri + "/xhtml",
url=widget_code,
content_type=widget_info['code_content_type'],
use_platform_style=widget_info['code_uses_platform_style'],
cacheable=widget_info['code_cacheable']
)
widget.width = widget_info['widget_width']
widget.height = widget_info['widget_height']
widget.save()
variable_definitions = {}
user_options = {}
order = 0
for preference in widget_info['preferences']:
vDef = VariableDef.objects.create(
name=preference['name'],
order=order,
description=preference['description'],
type=parser.typeText2typeCode(preference['type']),
aspect='PREF',
friend_code=None,
readonly=preference['readonly'],
label=preference['label'],
default_value=preference['default_value'],
value=preference['value'],
widget=widget,
secure=preference['secure']
)
variable_definitions[vDef.name] = vDef
user_options[vDef.name] = {}
for option in preference.get('options', ()):
upo = UserPrefOption.objects.create(
value=option['value'],
name=option['label'],
variableDef=vDef
)
user_options[vDef.name][upo.name] = upo
order += 1
order = 0
for prop in widget_info['properties']:
vDef = VariableDef.objects.create(
name=prop['name'],
order=order,
description=prop['description'],
type=parser.typeText2typeCode(prop['type']),
aspect='PROP',
friend_code=None,
label=prop['label'],
default_value=prop['default_value'],
widget=widget,
secure=prop['secure'],
)
variable_definitions[vDef.name] = vDef
order += 1
order = 0
for input_endpoint in widget_info['wiring']['inputs']:
vDef = VariableDef.objects.create(
name=input_endpoint['name'],
order=order,
description=input_endpoint['description'],
type=parser.typeText2typeCode(input_endpoint['type']),
aspect='SLOT',
friend_code=input_endpoint['friendcode'],
label=input_endpoint['label'],
action_label=input_endpoint['actionlabel'],
widget=widget,
)
variable_definitions[vDef.name] = vDef
order += 1
order = 0
for output_endpoint in widget_info['wiring']['outputs']:
#.........这里部分代码省略.........