aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mediagoblin/db/sql/fake.py28
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)