1import objc 2from AppKit import __bundle__ 3 4class _NSApp (object): 5 """ 6 Helper class to emulate NSApp in Python. 7 """ 8 def __getrealapp(self): 9 d = {} 10 objc.loadBundleVariables(__bundle__, d, [ ('NSApp', b'@' ) ]) 11 return d.get('NSApp') 12 13 __class__ = property(lambda self: self.__getrealapp().__class__) 14 15 def __getattr__(self, name): 16 return getattr(self.__getrealapp(), name) 17 18 def __setattr__(self, name, value): 19 return setattr(self.__getrealapp(), name, value) 20 21 def __call__(self): 22 # Compatibility with previous versions. 23 return self.__getrealapp() 24 25NSApp = _NSApp() 26del _NSApp 27