diff options
Diffstat (limited to 'freebase-api/freebase/__init__.py')
| -rwxr-xr-x | freebase-api/freebase/__init__.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/freebase-api/freebase/__init__.py b/freebase-api/freebase/__init__.py index e69de29..3cca4ff 100755 --- a/freebase-api/freebase/__init__.py +++ b/freebase-api/freebase/__init__.py @@ -0,0 +1,40 @@ +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 |
