641 if not self.__external: |
641 if not self.__external: |
642 # Check against installed/loaded plug-ins |
642 # Check against installed/loaded plug-ins |
643 pluginManager = e5App().getObject("PluginManager") |
643 pluginManager = e5App().getObject("PluginManager") |
644 pluginName = filename.rsplit('-', 1)[0] |
644 pluginName = filename.rsplit('-', 1)[0] |
645 pluginDetails = pluginManager.getPluginDetails(pluginName) |
645 pluginDetails = pluginManager.getPluginDetails(pluginName) |
646 if pluginDetails is None or pluginDetails["version"] < version: |
646 if pluginDetails is None: |
|
647 return PluginRepositoryWidget.PluginStatusLocalUpdate |
|
648 if version.count(".") >= 3: |
|
649 # cope for extended version numbers by ignoring |
|
650 # the extension |
|
651 version = ".".join(version.split(".",3)[:3]) |
|
652 if pluginDetails["version"] < version: |
647 return PluginRepositoryWidget.PluginStatusLocalUpdate |
653 return PluginRepositoryWidget.PluginStatusLocalUpdate |
648 |
654 |
649 return PluginRepositoryWidget.PluginStatusUpToDate |
655 return PluginRepositoryWidget.PluginStatusUpToDate |
650 else: |
656 else: |
651 return PluginRepositoryWidget.PluginStatusRemoteUpdate |
657 return PluginRepositoryWidget.PluginStatusRemoteUpdate |