summaryrefslogtreecommitdiff
path: root/examples/freebase-images-appengine/freebase/__init__.py
diff options
context:
space:
mode:
authornitromaster101 <nitromaster101@5914aa95-5b3a-0410-a3b5-7b719e7fe9b2>2009-06-18 23:43:53 +0000
committernitromaster101 <nitromaster101@5914aa95-5b3a-0410-a3b5-7b719e7fe9b2>2009-06-18 23:43:53 +0000
commitc8e799acf3c1aae32bb51ab88ba54bd8d27a08cb (patch)
tree4a2798d287b7575ac259117c3c55ebfae750e34b /examples/freebase-images-appengine/freebase/__init__.py
parent9e79ac25dbf5a38cb64d2bda878c222b0516c035 (diff)
finish uploading appengine example: had to force freebase... it was already in svn
git-svn-id: http://freebase-python.googlecode.com/svn/trunk@105 5914aa95-5b3a-0410-a3b5-7b719e7fe9b2
Diffstat (limited to 'examples/freebase-images-appengine/freebase/__init__.py')
-rwxr-xr-xexamples/freebase-images-appengine/freebase/__init__.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/examples/freebase-images-appengine/freebase/__init__.py b/examples/freebase-images-appengine/freebase/__init__.py
new file mode 100755
index 0000000..c55b700
--- /dev/null
+++ b/examples/freebase-images-appengine/freebase/__init__.py
@@ -0,0 +1,43 @@
+import sys
+
+from freebase.api.session import HTTPMetawebSession
+import sandbox
+
+__all__ = ["HTTPMetawebSession", "sandbox"]
+
+_base = HTTPMetawebSession("freebase.com")
+
+# we want to add base's functions to __init__.py
+# so that we can say freebase.func() and really
+# just call base.func()
+
+# a little trick to refer to __init__
+# self isn't defined because __init__ is in
+# a world in and of itself
+self = sys.modules[__name__]
+
+for funcname in dir(_base):
+
+ # we only want the 'real' functions
+ if not funcname.startswith("_"):
+ func = getattr(_base, funcname)
+
+ # let's make sure we're getting functions
+ # instead of constants or whatever
+ if callable(func):
+
+ # we're setting these functions
+ # so that they can be called like
+ # freebase.funcname -> base.func()
+ setattr(self, funcname, func)
+
+ # make sure we import the base's
+ # functions if we import freebase
+ __all__.append(funcname)
+
+# we don't want any self-referencing
+# business going. Plus, this is cleaner.
+del self
+
+# we want dir(freebase) to be clean
+del funcname, func