This repository has been archived on 2024-05-09. You can view files and clone it, but cannot push or open issues/pull-requests.
ipodderx-core/objc/_compat.py

59 lines
1.6 KiB
Python

__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])