Skip to content

Commit

Permalink
resolve ordering issue in star traversal
Browse files Browse the repository at this point in the history
  • Loading branch information
mahmoud committed Jan 24, 2022
1 parent 032f252 commit 24cc25f
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion glom/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -1916,6 +1916,13 @@ def __instancecheck__(cls, C):
class _ObjStyleKeys(_ObjStyleKeysMeta('_AbstractKeys', (object,), {})):
__metaclass__ = _ObjStyleKeysMeta

@staticmethod
def get_keys(obj):
ret = obj.__dict__.keys()
if PY2:
ret.sort()
return ret


def _get_sequence_item(target, index):
return target[int(index)]
Expand Down Expand Up @@ -2062,7 +2069,7 @@ def _register_default_types(self):
self.register(list, get=_get_sequence_item)
self.register(tuple, get=_get_sequence_item)
self.register(_AbstractIterable, iterate=iter)
self.register(_ObjStyleKeys, keys=lambda v: v.__dict__.keys())
self.register(_ObjStyleKeys, keys=_ObjStyleKeys.get_keys)

def _register_fuzzy_type(self, op, new_type, _type_tree=None):
"""Build a "type tree", an OrderedDict mapping registered types to
Expand Down

0 comments on commit 24cc25f

Please sign in to comment.