| 233 | default=default) |
| 234 | |
| 235 | def groupdict(self, default=None, decode=True): |
| 236 | group_indices = sorted(self.re.groupindex.values()) |
| 237 | group_data = self.group(*[i for i in group_indices], default=default) |
| 238 | gdict = {} |
| 239 | for pos, g_name_index in enumerate( |
| 240 | sorted(self.re.groupindex.items(), |
| 241 | # Sort by value |
| 242 | key=lambda x: x[1])): |
| 243 | gname = g_name_index[0] |
| 244 | gval = group_data[pos] |
| 245 | if decode: |
| 246 | if isinstance(gname, bytes): |
| 247 | gname = gname.decode('utf8') |
| 248 | if isinstance(gval, bytes): |
| 249 | gval = gval.decode('utf8') |
| 250 | gdict[gname] = gval |
| 251 | return gdict |
| 252 | |
| 253 | def start(self, group=0): |
| 254 | self._warn(u'start') |