MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / dictlike_iteritems

Function dictlike_iteritems

lib/sqlalchemy/util/langhelpers.py:1559–1580  ·  view source on GitHub ↗

Return a (key, value) iterator for almost any dict-like object.

(dictlike)

Source from the content-addressed store, hash-verified

1557
1558
1559def dictlike_iteritems(dictlike):
1560 """Return a (key, value) iterator for almost any dict-like object."""
1561
1562 if hasattr(dictlike, "items"):
1563 return list(dictlike.items())
1564
1565 getter = getattr(dictlike, "__getitem__", getattr(dictlike, "get", None))
1566 if getter is None:
1567 raise TypeError("Object '%r' is not dict-like" % dictlike)
1568
1569 if hasattr(dictlike, "iterkeys"):
1570
1571 def iterator():
1572 for key in dictlike.iterkeys():
1573 assert getter is not None
1574 yield key, getter(key)
1575
1576 return iterator()
1577 elif hasattr(dictlike, "keys"):
1578 return iter((key, getter(key)) for key in dictlike.keys())
1579 else:
1580 raise TypeError("Object '%r' is not dict-like" % dictlike)
1581
1582
1583class classproperty(property):

Callers 1

as_interfaceFunction · 0.85

Calls 3

iteratorFunction · 0.85
itemsMethod · 0.45
keysMethod · 0.45

Tested by

no test coverage detected