[QGIS Commit] r13830 - trunk/qgis/python/plugins/plugin_installer

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon Jun 28 15:18:40 EDT 2010


Author: borysiasty
Date: 2010-06-28 19:18:40 +0000 (Mon, 28 Jun 2010)
New Revision: 13830

Modified:
   trunk/qgis/python/plugins/plugin_installer/__init__.py
   trunk/qgis/python/plugins/plugin_installer/installer_data.py
   trunk/qgis/python/plugins/plugin_installer/installer_gui.py
   trunk/qgis/python/plugins/plugin_installer/installer_plugin.py
   trunk/qgis/python/plugins/plugin_installer/qgsplugininstalleroldreposbase.ui
Log:
Plugin installer fixes: fix error when uninstalling installer itself, support for <disabled> repo tag, remove my repository

Modified: trunk/qgis/python/plugins/plugin_installer/__init__.py
===================================================================
--- trunk/qgis/python/plugins/plugin_installer/__init__.py	2010-06-28 18:44:01 UTC (rev 13829)
+++ trunk/qgis/python/plugins/plugin_installer/__init__.py	2010-06-28 19:18:40 UTC (rev 13830)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """
 Copyright (C) 2007-2008 Matthew Perry
-Copyright (C) 2008-2009 Borys Jurgiel
+Copyright (C) 2008-2010 Borys Jurgiel
 /***************************************************************************
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -15,7 +15,7 @@
   return "Plugin Installer"
 
 def version():
-  return "Version 1.0.11"
+  return "Version 1.0.12"
 
 def description():
   return "Downloads and installs QGIS python plugins"

Modified: trunk/qgis/python/plugins/plugin_installer/installer_data.py
===================================================================
--- trunk/qgis/python/plugins/plugin_installer/installer_data.py	2010-06-28 18:44:01 UTC (rev 13829)
+++ trunk/qgis/python/plugins/plugin_installer/installer_data.py	2010-06-28 19:18:40 UTC (rev 13830)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """
 Copyright (C) 2007-2008 Matthew Perry
-Copyright (C) 2008-2009 Borys Jurgiel
+Copyright (C) 2008-2010 Borys Jurgiel
 
 /***************************************************************************
  *                                                                         *
@@ -83,7 +83,7 @@
 officialRepo = ("QGIS Official Repository",    "http://pyqgis.org/repo/official","")
 contribRepo  = ("QGIS Contributed Repository", "http://pyqgis.org/repo/contributed","")
 authorRepos  = [("Carson Farmer's Repository", "http://www.ftools.ca/cfarmerQgisRepo.xml", "http://www.ftools.ca/cfarmerQgisRepo_0.xx.xml"),
-                ("Borys Jurgiel's Repository", "http://bwj.aster.net.pl/qgis/plugins.xml", "http://bwj.aster.net.pl/qgis-oldapi/plugins.xml"),
+                # depreciated: ("Borys Jurgiel's Repository", "http://bwj.aster.net.pl/qgis/plugins.xml", "http://bwj.aster.net.pl/qgis-oldapi/plugins.xml"),
                 ("Faunalia Repository",        "http://www.faunalia.it/qgis/plugins.xml",  "http://faunalia.it/qgis/plugins.xml"),
                 ("Martin Dobias' Sandbox",     "http://mapserver.sk/~wonder/qgis/plugins-sandbox.xml", ""),
                 ("Aaron Racicot's Repository", "http://qgisplugins.z-pulley.com", ""),
@@ -456,7 +456,8 @@
           qgisMaximumVersion = pluginNodes.item(i).firstChildElement("qgis_maximum_version").text().simplified()
           if not qgisMaximumVersion: qgisMaximumVersion = "2"
           #if compatible, add the plugin to the list
-          if compareVersions(QGIS_VER, qgisMinimumVersion) < 2 and compareVersions(qgisMaximumVersion, QGIS_VER) < 2:
+          if not pluginNodes.item(i).firstChildElement("disabled").text().simplified().toUpper() in ["TRUE","YES"]:
+           if compareVersions(QGIS_VER, qgisMinimumVersion) < 2 and compareVersions(qgisMaximumVersion, QGIS_VER) < 2:
             if QGIS_VER[0]==qgisMinimumVersion[0] or name=="plugin_installer" or (qgisMinimumVersion!="0" and qgisMaximumVersion!="2"):
               #add the plugin to the cache
               plugins.addFromRepository(plugin)

Modified: trunk/qgis/python/plugins/plugin_installer/installer_gui.py
===================================================================
--- trunk/qgis/python/plugins/plugin_installer/installer_gui.py	2010-06-28 18:44:01 UTC (rev 13829)
+++ trunk/qgis/python/plugins/plugin_installer/installer_gui.py	2010-06-28 19:18:40 UTC (rev 13830)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """
 Copyright (C) 2007-2008 Matthew Perry
-Copyright (C) 2008-2009 Borys Jurgiel
+Copyright (C) 2008-2010 Borys Jurgiel
 
 /***************************************************************************
  *                                                                         *
@@ -27,7 +27,7 @@
 
 try:
   from qgis.utils import startPlugin, unloadPlugin, loadPlugin # QGIS >= 1.4
-  from qgis.utils import updateAvailablePlugins # QGIS >= 1.5
+  from qgis.utils import reloadPlugin, updateAvailablePlugins # QGIS >= 1.5
 except Exception:
   pass
 
@@ -676,11 +676,24 @@
       warning += "\n\n"+self.tr("Warning: this plugin isn't available in any accessible repository!")
     if QMessageBox.warning(self, self.tr("QGIS Python Plugin Installer"), warning , QMessageBox.Yes, QMessageBox.No) == QMessageBox.No:
       return
+    # unload the plugin if it's not plugin_installer itself (otherwise, do it after removing its directory):
+    if key != "plugin_installer":
+      try:
+        unloadPlugin(key)
+      except:
+        pass
     pluginDir = QFileInfo(QgsApplication.qgisUserDbFilePath()).path() + "/python/plugins/" + plugin["localdir"]
     result = removeDir(pluginDir)
     if result:
       QMessageBox.warning(self, self.tr("Plugin uninstall failed"), result)
     else:
+      # if the uninstalled plugin is the installer itself, reload it and quit
+      if key == "plugin_installer":
+        try:
+          reloadPlugin(key)
+          return
+        except:
+          pass
       # safe remove
       try:
         unloadPlugin(plugin["localdir"])

Modified: trunk/qgis/python/plugins/plugin_installer/installer_plugin.py
===================================================================
--- trunk/qgis/python/plugins/plugin_installer/installer_plugin.py	2010-06-28 18:44:01 UTC (rev 13829)
+++ trunk/qgis/python/plugins/plugin_installer/installer_plugin.py	2010-06-28 19:18:40 UTC (rev 13830)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """
 Copyright (C) 2007-2008 Matthew Perry
-Copyright (C) 2008-2009 Borys Jurgiel
+Copyright (C) 2008-2010 Borys Jurgiel
 
 /***************************************************************************
  *                                                                         *
@@ -128,6 +128,7 @@
       self.mainWindow().menuBar().actions()[4].menu().removeAction(self.action)
     if self.statusLabel:
       self.mainWindow().statusBar().removeWidget(self.statusLabel)
+    self.guiDlg.close()
 
 
   # ----------------------------------------- #

Modified: trunk/qgis/python/plugins/plugin_installer/qgsplugininstalleroldreposbase.ui
===================================================================
--- trunk/qgis/python/plugins/plugin_installer/qgsplugininstalleroldreposbase.ui	2010-06-28 18:44:01 UTC (rev 13829)
+++ trunk/qgis/python/plugins/plugin_installer/qgsplugininstalleroldreposbase.ui	2010-06-28 19:18:40 UTC (rev 13830)
@@ -14,7 +14,7 @@
   <property name="minimumSize">
    <size>
     <width>480</width>
-    <height>150</height>
+    <height>182</height>
    </size>
   </property>
   <property name="windowTitle">



More information about the QGIS-commit mailing list