If an extension can't be loaded, print warning and skip it instead of

erroring out.
This commit is contained in:
Kurt B. Kaiser 2005-01-18 00:54:58 +00:00
parent ff59f3c416
commit b00e89faab
2 changed files with 9 additions and 3 deletions

View File

@ -744,7 +744,11 @@ class EditorWindow(object):
return idleConf.GetExtensions(editor_only=True)
def load_extension(self, name):
mod = __import__(name, globals(), locals(), [])
try:
mod = __import__(name, globals(), locals(), [])
except ImportError:
print "\nFailed to import extension: ", name
return
cls = getattr(mod, name)
keydefs = idleConf.GetExtensionBindings(name)
if hasattr(cls, "menudefs"):
@ -762,7 +766,6 @@ class EditorWindow(object):
methodname = methodname + "_event"
if hasattr(ins, methodname):
self.text.bind(vevent, getattr(ins, methodname))
return ins
def apply_bindings(self, keydefs=None):
if keydefs is None:

View File

@ -3,6 +3,9 @@ What's New in IDLE 1.2a0?
*Release date: XX-XXX-2005*
- If an extension can't be loaded, print warning and skip it instead of
erroring out.
- The GUI was hanging if the shell window was closed while a raw_input()
was pending. Restored the quit() of the readline() mainloop().
http://mail.python.org/pipermail/idle-dev/2004-December/002307.html
@ -142,7 +145,7 @@ What's New in IDLE 1.0?
*Release date: 29-Jul-2003*
- Added a banner to the shell discussimg warnings possibly raised by personal
- Added a banner to the shell discussing warnings possibly raised by personal
firewall software. Added same comment to README.txt.