本文整理汇总了Python中zope.schema.getFieldNamesInOrder函数的典型用法代码示例。如果您正苦于以下问题:Python getFieldNamesInOrder函数的具体用法?Python getFieldNamesInOrder怎么用?Python getFieldNamesInOrder使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getFieldNamesInOrder函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: decode
def decode(dump, target=None, target_class=None):
data = simplejson.loads(dump)
registry = get_current_registry()
fields = {}
# collect all target's fields by their name
if target:
for interface in target.__provides__.interfaces():
for name in getFieldNamesInOrder(interface):
fields[name] = interface[name]
# collect all target_class' fields by their name
if target_class:
for interface in target_class.__implemented__.interfaces():
for name in getFieldNamesInOrder(interface):
fields[name] = interface[name]
values = {}
for k, v in data.iteritems():
# convert dictionary keys from unicode to str
if isinstance(k, unicode):
k = k.encode("utf-8")
# convert dictionary values to proper field values
if k in fields:
v = registry.queryMultiAdapter(
(fields[k], v), IFieldValue, default=v)
values[k] = v
return values
开发者ID:datakurre,项目名称:shaura_json,代码行数:30,代码来源:utils.py
示例2: _set_default_configuration
def _set_default_configuration(self):
defaults = {}
tile_type = getUtility(ITileType, name=self.tile.__name__)
fields = getFieldNamesInOrder(tile_type.schema)
for name, field in getFieldsInOrder(tile_type.schema):
order = unicode(fields.index(name))
# default configuration attributes for all fields
defaults[name] = {"order": order, "visibility": u"on"}
if name == "css_class":
# css_class, set default
defaults[name] = field.default
if ITextLine.providedBy(field):
# field is TextLine, we should add 'htmltag'
defaults[name]["htmltag"] = u"h2"
elif INamedBlobImageField.providedBy(field):
# field is an image, we should add 'position' and 'imgsize'
defaults[name]["position"] = u"left"
defaults[name]["imgsize"] = u"mini 200:200"
elif IInt.providedBy(field):
defaults[name][name] = field.default
elif IDatetime.providedBy(field):
# field is Datetime, we should add 'format'
defaults[name]["format"] = "datetime"
return defaults
开发者ID:collective,项目名称:collective.cover,代码行数:26,代码来源:configuration.py
示例3: format_street_address
def format_street_address(item, formatter):
address_parts = []
for attribute in getFieldNamesInOrder(IAddress):
address_part = getattr(item, attribute, None)
if address_part is not None:
address_parts.append(address_part)
return ", ".join(address_parts)
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:7,代码来源:contact.py
示例4: _normalize
def _normalize(self):
if self.for_ is None:
self.for_ = self.schema
if self.class_ is None:
self.bases = (self.view,)
else:
self.bases = (self.class_, self.view)
if self.template is not None:
self.template = os.path.abspath(str(self.template))
if not os.path.isfile(self.template):
raise ConfigurationError("No such file", self.template)
else:
self.template = self.default_template
self.names = getFieldNamesInOrder(self.schema)
if self.fields:
for name in self.fields:
if name not in self.names:
raise ValueError("Field name is not in schema",
name, self.schema)
else:
self.fields = self.names
开发者ID:zopefoundation,项目名称:zope.app.form,代码行数:25,代码来源:metaconfigure.py
示例5: __init__
def __init__(self, context, request=None):
self.context = context
self.request = request
self.datasets = []
self.datapoints = {}
self.schema = IFormDefinition(self.context).schema
self.fieldnames = getFieldNamesInOrder(self.schema)
开发者ID:upiq,项目名称:uu.formlibrary,代码行数:7,代码来源:views.py
示例6: __init__
def __init__(self, schema, **kwargs):
if IInterface.providedBy(schema):
self.identifier = schema.__identifier__
else:
self.identifier = str(schema)
for name in getFieldNamesInOrder(interfaces.IFlavor):
if name in kwargs:
setattr(self, name, kwargs.get(name))
开发者ID:seanupton,项目名称:experimental.flavors,代码行数:8,代码来源:info.py
示例7: __init__
def __init__(self, context, request=None):
## context should be context of API view, not API view itself
self.context = context
self.__parent__ = context # may be re-parented by API to view
self.request = getRequest() if request is None else request
self.definition = IFormDefinition(self.context)
self._schema = self.definition.schema
self._fieldnames = getFieldNamesInOrder(self._schema)
开发者ID:upiq,项目名称:uu.formlibrary,代码行数:8,代码来源:fields.py
示例8: getFields
def getFields(context):
domain_model = proxy.removeSecurityProxy(context.domain_model)
domain_interface = queryModelInterface(domain_model)
field_names = schema.getFieldNamesInOrder(domain_interface)
for f in field_names:
field = domain_interface[f]
if isinstance(field, (schema.Choice, schema.Object, schema.List, schema.Tuple, schema.Bytes)):
continue
yield field
开发者ID:kapilt,项目名称:zope-alchemist,代码行数:9,代码来源:container.py
示例9: get_unknown_fields
def get_unknown_fields(action_data, schema):
"""Return an error list of unknown fields that are not part of the schema.
"""
errors = []
known_field_names = getFieldNamesInOrder(schema)
for key in action_data:
if key not in known_field_names:
errors.append((key, UnknownField(key)))
return errors
开发者ID:4teamwork,项目名称:opengever.core,代码行数:9,代码来源:validation.py
示例10: available_fields
def available_fields(self):
fields = []
names = [
name for name in getFieldNamesInOrder(IListingSearchTile)
if name.startswith('form_')
]
for name in names:
if self.data.get(name, False):
fields.append(name.split('form_')[1])
return fields
开发者ID:propertyshelf,项目名称:ps.plone.mlstiles,代码行数:10,代码来源:listing_search.py
示例11: values
def values(obj):
registry = get_current_registry()
values = {}
for interface in obj.__provides__.interfaces():
for name in getFieldNamesInOrder(interface):
field = interface[name]
bound = field.bind(obj)
value = bound.get(obj)
values[name] = registry.queryMultiAdapter(
(field, value), IJSONValue, default=value)
return values
开发者ID:datakurre,项目名称:shaura_json,代码行数:11,代码来源:utils.py
示例12: __init__
def __init__(self, context, request):
self.context = context
self.request = request
self.portal = getSite()
self.definition = IFormDefinition(self.context)
self.series = context.__parent__ # assumes series <>--- form
self.title = '%s: %s' % (self.series.Title().strip(), context.Title())
self.seriesinfo = dict(
[(k, v) for k, v in self.series.__dict__.items()
if v is not None and k in getFieldNamesInOrder(IFormSeries)]
)
开发者ID:upiq,项目名称:uu.formlibrary,代码行数:11,代码来源:common.py
示例13: __init__
def __init__(cls, name, bases, dct, map_kind=True):
"""Initializes a class that might implement interfaces"""
registry = get_current_registry()
implements = getattr(cls, "__implements_advice_data__", None)
for interface in (implements and implements[0] or ()):
for name in schema.getFieldNamesInOrder(interface):
field = interface[name]
setattr(cls, name, registry.getAdapter(field, IProperty))
dct.update({name: getattr(cls, name)})
super(SchemaPropertiedClass, cls).__init__(name, bases, dct, map_kind)
开发者ID:datakurre,项目名称:shaura_gae,代码行数:11,代码来源:db.py
示例14: testSA2ZS
def testSA2ZS(self):
iusers = transmute(users)
self.assertEqual(tuple(schema.getFieldNamesInOrder(iusers)), ("user_id", "user_name"))
fields = dict(schema.getFieldsInOrder(iusers))
# assert types and constraints
self.assertTrue(isinstance(fields["user_id"], schema.Int))
self.assertTrue(fields["user_id"].required)
self.assertTrue(isinstance(fields["user_name"], schema.TextLine))
self.assertEqual(fields["user_name"].max_length, 40)
self.assertEqual(fields["user_name"].default, u"hello world")
开发者ID:kapilt,项目名称:zope-alchemist,代码行数:12,代码来源:test_sa2zs.py
示例15: test_syncSchema_overwrite
def test_syncSchema_overwrite(self):
class ISource(Interface):
one = schema.TextLine(title=u"A")
two = schema.Int(title=u"B")
class IDest(Interface):
one = schema.TextLine(title=u"C")
three = schema.Int(title=u"D")
ISource.setTaggedValue("tag1", "tag one")
ISource.setTaggedValue("tag2", "tag two")
IDest.setTaggedValue("tag1", "first tag")
utils.syncSchema(ISource, IDest, overwrite=True)
self.assertEqual(u"A", IDest["one"].title)
self.assertEqual(["one", "two"], getFieldNamesInOrder(ISource))
self.assertEqual(["one", "two"], getFieldNamesInOrder(IDest))
self.assertEqual("tag one", IDest.getTaggedValue("tag1"))
self.assertEqual("tag two", IDest.getTaggedValue("tag2"))
开发者ID:plone,项目名称:plone.supermodel,代码行数:22,代码来源:tests.py
示例16: __getattr__
def __getattr__(self, name):
"""If field, return default for attribute value"""
if name.startswith('_v_'):
raise AttributeError(name) # no magic tricks with these.
schema = self.__class__.schema.__get__(self) # aq property workaround!
if name == 'schema':
return schema
if schema is not None:
fieldnames = getFieldNamesInOrder(schema)
if name in fieldnames:
field = schema.get(name)
return field.default
raise AttributeError(name)
开发者ID:upiq,项目名称:uu.dynamicschema,代码行数:13,代码来源:schema.py
示例17: setUpWidgets
def setUpWidgets(self, ignore_request=False):
self.adapters = self.adapters is not None and self.adapters or {}
# grab all the adapters and fields from the entire wizard form sequence
# (till the current step)
adapters = self.wizard.data_manager.adapters
fields = self.wizard.data_manager.fields
formSchemas = component.getUtility(interfaces.IFormSchemas)
# edit widgets for payment info
self.widgets = form.setUpEditWidgets(
self.form_fields.select(
*schema.getFieldNamesInOrder(
formSchemas.getInterface('payment')
)
),
self.prefix, self.context, self.request,
adapters=adapters, ignore_request=ignore_request
)
# display widgets for bill/ship address
bill_ship_fields = []
for i in (formSchemas.getInterface('billing_address'),
formSchemas.getInterface('shipping_address')):
bill_ship_fields.append(
fields.select(
*schema.getFieldNamesInOrder(i)
)
)
# make copies of custom widgets.. (typically for edit, we want display)
bill_ship_fields = sanitize_custom_widgets(
reduce(operator.__add__, bill_ship_fields)
)
self.widgets += form.setUpEditWidgets(
bill_ship_fields, self.prefix, self.context, self.request,
adapters=adapters, for_display=True, ignore_request=ignore_request
)
开发者ID:Martronic-SA,项目名称:Products.PloneGetPaid,代码行数:38,代码来源:checkout.py
示例18: attributes
def attributes(self):
context = removeSecurityProxy(self.context)
attrs = [{'name': (ns and context.prefixes[ns]+':' or '') + name,
'value': value, 'url': None, 'values': []}
for (ns, name), value in context.attrs.items()]
names = context.schema.names(True)
rootURL = absoluteURL(findDocModule(self), self.request)
for attr in attrs:
name = (attr['name'] in names) and attr['name'] or attr['name']+'_'
field = context.schema.get(name)
if isinstance(field, (GlobalObject, GlobalInterface)):
attr['url'] = self.objectURL(attr['value'], field, rootURL)
elif isinstance(field, Tokens):
field = field.value_type
values = attr['value'].strip().split()
if len(values) == 1:
attr['value'] = values[0]
attr['url'] = self.objectURL(values[0], field, rootURL)
else:
for value in values:
if isinstance(field,
(GlobalObject, GlobalInterface)):
url = self.objectURL(value, field, rootURL)
else:
break
attr['values'].append({'value': value, 'url': url})
# Make sure that the attributes are in the same order they are defined
# in the schema.
fieldNames = getFieldNamesInOrder(context.schema)
fieldNames = [name.endswith('_') and name[:-1] or name
for name in fieldNames]
attrs.sort(lambda x, y: _compareAttrs(x, y, fieldNames))
if not IRootDirective.providedBy(context):
return attrs
xmlns = []
for uri, prefix in context.prefixes.items():
name = prefix and ':'+prefix or ''
xmlns.append({'name': 'xmlns'+name,
'value': uri,
'url': None,
'values': []})
xmlns.sort(lambda x, y: cmp(x['name'], y['name']))
return xmlns + attrs
开发者ID:jean,项目名称:zope.app.apidoc,代码行数:50,代码来源:zcml.py
示例19: setUpColumns
def setUpColumns(domain_model):
"""Use model descriptor on domain model extract columns for table listings
"""
columns = []
table_schema = bungeni.alchemist.utils.get_derived_table_schema(
domain_model)
if not table_schema:
raise SyntaxError(
"Model must have domain interface %r" % (domain_model))
descriptor_model = bungeni.alchemist.utils.get_descriptor(table_schema)
field_column_names = \
descriptor_model and descriptor_model.listing_columns \
or schema.getFieldNamesInOrder(table_schema)
# quick hack for now, dates are last in listings
remainder = []
for field_name in field_column_names:
if not field_name in table_schema:
# we can specify additional columns for tables that are not present in the
# the interface, iff they are fully spec'd as columns in the descriptor/annotation
if (descriptor_model and field_name in descriptor_model
and descriptor_model[field_name].listing_column):
pass
else:
#print "bad field, container", field_name, table_schema.__name__
continue
info = descriptor_model and descriptor_model.get(field_name) or None
if info is not None and info.listing_column:
columns.append(info.listing_column)
continue
field = table_schema[field_name]
if isinstance(field, schema.Datetime):
remainder.append(
column.GetterColumn(
title=field.title or field.__name__,
getter=DateGetter(field.query)))
continue
columns.append(
column.GetterColumn(
title=(field.title or field.__name__),
getter=Getter(field.query)))
columns.extend(remainder)
return columns
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:49,代码来源:ui.py
示例20: _get_scss_variables
def _get_scss_variables(self, obj):
schema = queryMultiAdapter((obj, obj.REQUEST),
ICustomDesignVariablesSchema)
if not schema:
return
annotations = IAnnotations(obj, None)
if not annotations:
return
variables = annotations.get(VARIABLES_ANNOTATION_KEY) or {}
form_fields = getFields(schema)
for field_name in getFieldNamesInOrder(schema):
yield (form_fields[field_name].variable_name,
variables.get(field_name))
开发者ID:OneGov,项目名称:plonetheme.onegovbear,代码行数:15,代码来源:dynamic_scss_resources.py
注:本文中的zope.schema.getFieldNamesInOrder函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论