Lines Matching refs:name

47 def _is_dunder(name):
49 Returns True if a __dunder__ name, False otherwise.
52 len(name) > 4 and
53 name[:2] == name[-2:] == '__' and
54 name[2] != '_' and
55 name[-3] != '_'
58 def _is_sunder(name):
60 Returns True if a _sunder_ name, False otherwise.
63 len(name) > 2 and
64 name[0] == name[-1] == '_' and
65 name[1:2] != '_' and
66 name[-2:-1] != '_'
78 def _is_private(cls_name, name):
83 len(name) > pat_len
84 and name.startswith(pattern)
85 and name[pat_len:pat_len+1] != ['_']
86 and (name[-1] != '_' or name[-2] != '_')
195 return ownerclass._member_map_[self.name]
198 '%r has no attribute %r' % (ownerclass, self.name)
202 # look for a member by this name.
204 return ownerclass._member_map_[self.name]
207 '%r has no attribute %r' % (ownerclass, self.name)
215 "<enum %r> cannot set attribute %r" % (self.clsname, self.name)
223 "<enum %r> cannot delete attribute %r" % (self.clsname, self.name)
228 def __set_name__(self, ownerclass, name):
229 self.name = name
290 for name, canonical_member in enum_class._member_map_.items():
368 If an enum member name is used twice, an error is raised; duplicate
382 # also do nothing, name will be a normal attribute
427 # # do nothing, name will be a normal attribute
467 for name in members.keys():
468 self[name] = members[name]
470 for name, value in members:
471 self[name] = value
472 for name, value in more_members.items():
473 self[name] = value
517 raise ValueError('invalid enum member name(s) %s' % (
535 for name in member_names:
536 value = classdict[name]
537 classdict[name] = _proto_member(value)
593 for name in ('__repr__', '__str__', '__format__', '__reduce_ex__'):
594 if name not in classdict:
596 enum_method = getattr(first_enum, name)
597 found_method = getattr(enum_class, name)
598 object_method = getattr(object, name)
599 data_type_method = getattr(member_type, name)
601 setattr(enum_class, name, enum_method)
605 for name in (
610 if name not in classdict:
611 enum_method = getattr(Flag, name)
612 setattr(enum_class, name, enum_method)
613 classdict[name] = enum_method
695 `value` will be the name of the new class.
698 (values will start at `start`), or an iterator/mapping of name, value pairs.
769 def __getattr__(cls, name):
771 Return the enum member matching `name`
774 class' __dict__ in order to support `name` and `value` being both
778 if _is_dunder(name):
779 raise AttributeError(name)
781 return cls._member_map_[name]
783 raise AttributeError(name) from None
785 def __getitem__(cls, name):
787 Return the member matching `name`.
789 return cls._member_map_[name]
795 return (cls._member_map_[name] for name in cls._member_names_)
806 Returns a mapping of member name->value.
823 return (cls._member_map_[name] for name in reversed(cls._member_names_))
825 def __setattr__(cls, name, value):
834 if name in member_map:
835 raise AttributeError('cannot reassign member %r' % (name, ))
836 super().__setattr__(name, value)
847 * An iterable of (member name, value) pairs.
848 * A mapping of member name -> value pairs.
861 for count, name in enumerate(original_names):
862 value = first_enum._generate_next_value_(name, start, count, last_values[:])
864 names.append((name, value))
866 # Here, names is either an iterable of (name, value) or a mapping.
890 def _convert_(cls, name, module, filter, source=None, *, boundary=None, as_global=False):
895 # a new Enum called name, and export the enum and its members back to
905 # for a consistent reverse mapping of number to name when there
908 (name, value)
909 for name, value in source.items()
910 if filter(name)]
915 # unless some values aren't comparable, in which case sort by name
919 tmp_cls = type(name, (object, ), body)
926 module_globals[name] = cls
1041 # assigned to the enum member name will be passed to __new__ and to the
1053 Create a collection of name/value pairs.
1074 - name lookup:
1145 def _generate_next_value_(name, start, count, last_values):
1149 name: the name of the member
1196 interesting = set(['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'value'])
1199 for name in getattr(self, '__dict__', []):
1200 if name[0] != '_':
1201 interesting.add(name)
1203 for name, obj in cls.__dict__.items():
1204 if name[0] == '_':
1208 if obj.fget is not None or name not in self._member_map_:
1209 interesting.add(name)
1212 interesting.discard(name)
1214 interesting.add(name)
1230 # enum.property is used to provide access to the `name` and
1233 # to have members named `name` and `value`. This works because enumeration
1239 def name(self):
1240 """The name of the Enum member."""
1287 def _generate_next_value_(name, start, count, last_values):
1289 Return the lower-cased version of the member name.
1291 return name.lower()
1295 return self.name
1336 def _generate_next_value_(name, start, count, last_values):
1340 name: the name of the member
1569 for name, member in enumeration.__members__.items():
1570 if name != member.name:
1571 duplicates.append((name, member.name))
1574 ["%s -> %s" % (alias, name) for (alias, name) in duplicates])
1588 the module is the last module in case of a multi-module name
1597 the module is the last module in case of a multi-module name
1606 return '|'.join(['%s.%s' % (module, name) for name in self.name.split('|')])
1608 name = []
1611 name.append(n)
1613 name.append('%s.%s' % (module, n))
1614 return '|'.join(name)
1693 for name, obj in cls.__dict__.items():
1694 if name in ('__dict__', '__weakref__'):
1696 if _is_dunder(name) or _is_private(cls_name, name) or _is_sunder(name) or _is_descriptor(obj):
1697 body[name] = obj
1699 attrs[name] = obj
1708 for name in ('__repr__', '__str__', '__format__', '__reduce_ex__'):
1709 if name not in body:
1711 enum_method = getattr(etype, name)
1712 found_method = getattr(enum_class, name)
1713 object_method = getattr(object, name)
1714 data_type_method = getattr(member_type, name)
1716 setattr(enum_class, name, enum_method)
1721 for name, value in attrs.items():
1723 value = gnv(name, 1, len(member_names), gnv_last_values)
1727 redirect.__set_name__(enum_class, name)
1728 setattr(enum_class, name, redirect)
1729 member_map[name] = value2member_map[value]
1741 member._name_ = name
1745 redirect.__set_name__(enum_class, name)
1746 setattr(enum_class, name, redirect)
1747 member_map[name] = member
1752 member_names.append(name)
1766 for name, value in attrs.items():
1769 value.value = gnv(name, 1, len(member_names), gnv_last_values)
1774 redirect.__set_name__(enum_class, name)
1775 setattr(enum_class, name, redirect)
1776 member_map[name] = value2member_map[value]
1788 member._name_ = name
1793 redirect.__set_name__(enum_class, name)
1794 setattr(enum_class, name, redirect)
1795 member_map[name] = member
1797 member_names.append(name)
1812 UNIQUE = "one name per value"
1835 for name, member in enumeration.__members__.items():
1836 if name != member.name:
1837 duplicates.append((name, member.name))
1840 ["%s -> %s" % (alias, name) for (alias, name) in duplicates])
1872 for name, alias in enumeration._member_map_.items():
1873 if name in member_names:
1882 missing_names.append(name)
1963 for name in member_names:
1965 if name not in simple_keys:
1966 failed.append('missing member from simple enum: %r' % name)
1967 elif name not in checked_keys:
1968 failed.append('extra member in simple enum: %r' % name)
1970 checked_member_dict = checked_enum[name].__dict__
1972 simple_member_dict = simple_enum[name].__dict__
1979 failed_member.append("missing key %r not in the simple enum member %r" % (key, name))
1981 failed_member.append("extra key %r in simple enum member %r" % (key, name))
1993 name, '\n '.join(failed_member),
2022 def _old_convert_(etype, name, module, filter, source=None, *, boundary=None):
2027 # a new Enum called name, and export the enum and its members back to
2037 # for a consistent reverse mapping of number to name when there
2040 (name, value)
2041 for name, value in source.items()
2042 if filter(name)]
2047 # unless some values aren't comparable, in which case sort by name
2049 cls = etype(name, members, module=module, boundary=boundary or KEEP)