59 lines
1.6 KiB
Python
Executable File
59 lines
1.6 KiB
Python
Executable File
__all__ = ['runtime', 'pluginBundle', 'registerPlugin']
|
|
|
|
class Runtime:
|
|
"""
|
|
Backward compatibility interface.
|
|
|
|
This class provides (partial) support for the interface of
|
|
older versions of PyObjC.
|
|
"""
|
|
def __getattr__(self, name):
|
|
import warnings
|
|
warnings.warn("Deprecated: use objc.lookUpClass",
|
|
DeprecationWarning)
|
|
import objc
|
|
if name == '__objc_classes__':
|
|
return objc.getClassList()
|
|
elif name == '__kind__':
|
|
return 'python'
|
|
|
|
try:
|
|
return objc.lookUpClass(name)
|
|
except objc.nosuchclass_error:
|
|
raise AttributeError, name
|
|
|
|
def __eq__(self, other):
|
|
return self is other
|
|
|
|
def __repr__(self):
|
|
return "objc.runtime"
|
|
|
|
runtime = Runtime()
|
|
|
|
_PLUGINS = {}
|
|
def registerPlugin(pluginName):
|
|
"""
|
|
Deprecated: use currentBundle()
|
|
|
|
Register the current py2app plugin by name and return its bundle
|
|
"""
|
|
import os
|
|
import sys
|
|
path = os.path.dirname(os.path.dirname(os.environ['RESOURCEPATH']))
|
|
if not isinstance(path, unicode):
|
|
path = unicode(path, sys.getfilesystemencoding())
|
|
_PLUGINS[pluginName] = path
|
|
return pluginBundle(pluginName)
|
|
|
|
def pluginBundle(pluginName):
|
|
"""
|
|
Deprecated: use currentBundle()
|
|
|
|
Return the main bundle for the named plugin. This should be used
|
|
only after it has been registered with registerPlugin
|
|
"""
|
|
import warnings
|
|
warnings.warn("Deprecated: use currentBundle()", DeprecationWarning)
|
|
from Foundation import NSBundle
|
|
return NSBundle.bundleWithPath_(_PLUGINS[pluginName])
|