def groupdict(self, default=None): d = {} assert _interop.__has_keys__(self.compiled_regex.groups) for k in _interop.__keys__(self.compiled_regex.groups): idx = self.compiled_regex.groups[k] d[k] = self.__group__(idx) return d
def __init__(self, pattern, flags): self.__binary = isinstance(pattern, bytes) self.pattern = pattern self.flags = flags flags_str = [] for char, flag in FLAGS.items(): if flags & flag: flags_str.append(char) self.flags_str = "".join(flags_str) self.__compiled_regexes = dict() self.groupindex = dict() if self.__tregex_compile(self.pattern).groups is not None: for group_name in dir(self.__tregex_compile(self.pattern).groups): groups = self.__tregex_compile(self.pattern).groups self.groups = _interop.__get_size__(_interop.__keys__(groups)) self.groupindex[group_name] = groups[group_name]
def test_keys(): o = CustomObject() inherited_keys = len(polyglot.__keys__(o)) o.my_field = 1 assert len(polyglot.__keys__(o)) == 1 + inherited_keys assert "my_field" in polyglot.__keys__(o)
def test_keys(): o = CustomObject() assert len(polyglot.__keys__(o)) == 0 o.my_field = 1 assert len(polyglot.__keys__(o)) == 1 assert "my_field" in polyglot.__keys__(o)