eric6/PluginManager/PluginManager.py

changeset 8240
93b8a353c4bf
parent 8228
772103b14c18
child 8243
cc717c2ae956
equal deleted inserted replaced
8239:59a9a658618c 8240:93b8a353c4bf
10 import os 10 import os
11 import sys 11 import sys
12 import zipfile 12 import zipfile
13 import types 13 import types
14 import importlib 14 import importlib
15 import contextlib
15 16
16 from PyQt5.QtCore import ( 17 from PyQt5.QtCore import (
17 pyqtSignal, QObject, QDate, QFile, QFileInfo, QUrl, QIODevice 18 pyqtSignal, QObject, QDate, QFile, QFileInfo, QUrl, QIODevice
18 ) 19 )
19 from PyQt5.QtGui import QPixmap 20 from PyQt5.QtGui import QPixmap
641 pluginObject.eric6PluginName = className 642 pluginObject.eric6PluginName = className
642 pluginObject.eric6PluginVersion = version 643 pluginObject.eric6PluginVersion = version
643 644
644 if onDemand: 645 if onDemand:
645 self.__onDemandInactiveModules.pop(name) 646 self.__onDemandInactiveModules.pop(name)
646 try: 647 with contextlib.suppress(KeyError):
647 self.__onDemandInactivePlugins.pop(name) 648 self.__onDemandInactivePlugins.pop(name)
648 except KeyError:
649 pass
650 self.__onDemandActivePlugins[name] = pluginObject 649 self.__onDemandActivePlugins[name] = pluginObject
651 self.__onDemandActiveModules[name] = module 650 self.__onDemandActiveModules[name] = module
652 else: 651 else:
653 self.__inactiveModules.pop(name) 652 self.__inactiveModules.pop(name)
654 try: 653 with contextlib.suppress(KeyError):
655 self.__inactivePlugins.pop(name) 654 self.__inactivePlugins.pop(name)
656 except KeyError:
657 pass
658 self.__activePlugins[name] = pluginObject 655 self.__activePlugins[name] = pluginObject
659 self.__activeModules[name] = module 656 self.__activeModules[name] = module
660 return obj 657 return obj
661 except PluginActivationError: 658 except PluginActivationError:
662 return None 659 return None
737 self.__onDemandActivePlugins.pop(name) 734 self.__onDemandActivePlugins.pop(name)
738 self.__onDemandInactivePlugins[name] = pluginObject 735 self.__onDemandInactivePlugins[name] = pluginObject
739 self.__onDemandInactiveModules[name] = module 736 self.__onDemandInactiveModules[name] = module
740 else: 737 else:
741 self.__activeModules.pop(name) 738 self.__activeModules.pop(name)
742 try: 739 with contextlib.suppress(KeyError):
743 self.__activePlugins.pop(name) 740 self.__activePlugins.pop(name)
744 except KeyError:
745 pass
746 self.__inactivePlugins[name] = pluginObject 741 self.__inactivePlugins[name] = pluginObject
747 self.__inactiveModules[name] = module 742 self.__inactiveModules[name] = module
748 743
749 def __canDeactivatePlugin(self, module): 744 def __canDeactivatePlugin(self, module):
750 """ 745 """

eric ide

mercurial