Scott David Daniels wrote:
    if mytype not in AVOIDITER:
        try:
            for item in obj:
                walks(item, seen)
        except TypeError:
            pass
    try:
        for key, value in obj.items():
            walks(key, seen)  # Key might be object w/ hash method
            walks(value, seen)
    except AttributeError:
        pass

You might also write this section something like:

if mytype not in AVOIDITER:
    try:
        itr = iter(obj)
    except TypeError:
        pass
    else:
        for item in itr:
            walks(item, seen)
            try:
                walks(obj[item], seen)
            except TypeError:
                pass

This should allow you to support any mapping type that supports iter() over the keys and the __getitem__ protocol.

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to