Esempio n. 1
0
 def update_plugins(self):
     for plugin_name in self.updated_plugins:
         new_version = self._update_plugin(plugin_name)
         if new_version:
             logger.info("{} successfully updated".format(plugin_name))
             config.update_plugin_version(plugin_name, new_version)
         else:
             logger.error("{} plugin could not update".format(plugin_name))
             config.remove_plugin(plugin_name)
             self.errors.append(plugin_name)
Esempio n. 2
0
 def register_plugins(self, apps):
     """
     Register plugins - i.e. modules that have a KolibriPluginBase derived
     class in their kolibri_plugin.py module - these can be enabled and disabled
     by the Kolibri plugin machinery.
     """
     for app in apps:
         try:
             if app not in self._apps:
                 plugin_object = initialize_kolibri_plugin(app)
                 self._apps[app] = plugin_object
                 if is_plugin_updated(app):
                     if is_external_plugin(app):
                         config["UPDATED_PLUGINS"].add(app)
                         config.save()
                     else:
                         config.update_plugin_version(
                             app, kolibri.__version__)
         except (MultiplePlugins, ImportError):
             logger.warn("Cannot initialize plugin {}".format(app))
         except PluginDoesNotExist:
             pass