summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/mapping/mapper.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-02-21 02:57:38 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-02-21 02:57:38 +0000
commita2ff73200cd6bfa465d13b8531c2745007ebf8c9 (patch)
tree123a5291900bbb8656fbcb17c44678740523d28d /lib/sqlalchemy/mapping/mapper.py
parentbec1b4f92ea23e41eebe90d184acff9c2918b175 (diff)
downloadsqlalchemy-a2ff73200cd6bfa465d13b8531c2745007ebf8c9.tar.gz
working on postupdate idea, refactoring to dependency processing
Diffstat (limited to 'lib/sqlalchemy/mapping/mapper.py')
-rw-r--r--lib/sqlalchemy/mapping/mapper.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/sqlalchemy/mapping/mapper.py b/lib/sqlalchemy/mapping/mapper.py
index 88b803b37..2e69a1e66 100644
--- a/lib/sqlalchemy/mapping/mapper.py
+++ b/lib/sqlalchemy/mapping/mapper.py
@@ -893,6 +893,22 @@ def hash_key(obj):
return obj.hash_key()
else:
return repr(obj)
+
+def object_mapper(object):
+ """given an object, returns the primary Mapper associated with the object
+ or the object's class."""
+ return class_mapper(object.__class__)
+
+def class_mapper(class_):
+ """given a class, returns the primary Mapper associated with the class."""
+ return mapper_registry[class_]
+ try:
+ return mapper_registry[class_]
+ except KeyError:
+ pass
+ except AttributeError:
+ pass
+ raise InvalidRequestError("Class '%s' has no mapper associated with it" % class_.__name__)