Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/modules/addon_utils.py
| Show First 20 Lines • Show All 346 Lines • ▼ Show 20 Lines | def enable(module_name, *, default_set=False, persistent=False, handle_error=None): | ||||
| with RestrictBlend(): | with RestrictBlend(): | ||||
| # 1) try import | # 1) try import | ||||
| try: | try: | ||||
| mod = __import__(module_name) | mod = __import__(module_name) | ||||
| mod.__time__ = os.path.getmtime(mod.__file__) | mod.__time__ = os.path.getmtime(mod.__file__) | ||||
| mod.__addon_enabled__ = False | mod.__addon_enabled__ = False | ||||
| except Exception as ex: | except Exception as ex: | ||||
| # if the addon doesn't exist, dont print full traceback | # if the addon doesn't exist, don't print full traceback | ||||
| if type(ex) is ImportError and ex.name == module_name: | if type(ex) is ImportError and ex.name == module_name: | ||||
| print("addon not found:", repr(module_name)) | print("addon not found:", repr(module_name)) | ||||
| else: | else: | ||||
| handle_error(ex) | handle_error(ex) | ||||
| if default_set: | if default_set: | ||||
| _addon_remove(module_name) | _addon_remove(module_name) | ||||
| return None | return None | ||||
| ▲ Show 20 Lines • Show All 149 Lines • Show Last 20 Lines | |||||