summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/util.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-10-18 19:39:34 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-10-18 19:39:34 +0000
commit6ac91ccc8cefa4a8c8728c51e16753aab92e775f (patch)
treef1425c0cf3b2a165ef0197eb4baa4c8fe2fe90dd /lib/sqlalchemy/util.py
parentedec6707ecf5c858642b081c02c26800b697bfd7 (diff)
downloadsqlalchemy-6ac91ccc8cefa4a8c8728c51e16753aab92e775f.tar.gz
tiny tiny speed improvements....
Diffstat (limited to 'lib/sqlalchemy/util.py')
-rw-r--r--lib/sqlalchemy/util.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py
index 925c59349..237772a40 100644
--- a/lib/sqlalchemy/util.py
+++ b/lib/sqlalchemy/util.py
@@ -40,6 +40,7 @@ if sys.version_info >= (2, 5):
def __init__(self, creator):
self.creator = creator
+
def __missing__(self, key):
self[key] = val = self.creator(key)
return val
@@ -49,6 +50,7 @@ else:
def __init__(self, creator):
self.creator = creator
+
def __getitem__(self, key):
try:
return dict.__getitem__(self, key)
@@ -1009,6 +1011,9 @@ class OrderedIdentitySet(IdentitySet):
for o in iterable:
self.add(o)
+def unique_list(seq, compare_with=set):
+ seen = compare_with()
+ return [x for x in seq if x not in seen and not seen.add(x)]
class UniqueAppender(object):
"""Appends items to a collection ensuring uniqueness.