Jumping right into the code (which should speak for itself):
# -----------------------------------
try:
# this will fail and be caught
# below, weeee
import foobar
except ImportError, error:
class foobar:
@staticmethod
def __getattr__(*args, **kargs):
return None
print foobar.bg
# -----------------------------------
This doesn't work and I'm just curious as to why? I can, of course, make
__getattr__ non-static, instantiate a foolbar object, and everything
works; but, the "idea" above seems cleaner and whatnot. :)
Am I misunderstanding something fundamental about the builtin __*
functions? Can they not be "static?"
No rush on this, just curious. I'm using the following in a more general
way, and it works fine for now... :)
# -----------------------------------
try:
import foobar
except ImportError, error:
class Foobar:
def __getattr__(*args, **kargs):
return None
foobar = Foobar()
print foobar.bg
# -----------------------------------