diff options
-rw-r--r-- | mediagoblin/db/sql/fake.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mediagoblin/db/sql/fake.py b/mediagoblin/db/sql/fake.py new file mode 100644 index 00000000..ba11bfee --- /dev/null +++ b/mediagoblin/db/sql/fake.py @@ -0,0 +1,28 @@ +""" +This module contains some fake classes and functions to +calm the rest of the code base. Or provide super minimal +implementations. + +Currently: +- ObjectId "class": It's a function mostly doing + int(init_arg) to convert string primary keys into + integer primary keys. +- InvalidId exception +- DESCENDING "constant" +""" + + +DESCENDING = object() # a unique object for this "constant" + + +class InvalidId(Exception): + pass + + +def ObjectId(value=None): + if value is None: + return None + try: + return int(value) + except ValueError: + raise InvalidId("%r is an invalid id" % value) |