myserver-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myserver-commit] [3022] myserver-get: added remove command + removed sv


From: Daniele Perrone
Subject: [myserver-commit] [3022] myserver-get: added remove command + removed svn protocol partial support.
Date: Tue, 03 Mar 2009 16:06:15 +0000

Revision: 3022
          http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=3022
Author:   dperrone
Date:     2009-03-03 16:06:15 +0000 (Tue, 03 Mar 2009)
Log Message:
-----------
myserver-get: added remove command + removed svn protocol partial support.

Modified Paths:
--------------
    trunk/misc/myserver-get/myserver-get.py
    trunk/misc/myserver-get/myserverGetLib/general.py
    trunk/misc/myserver-get/myserverGetLib/local.py

Removed Paths:
-------------
    trunk/misc/myserver-get/myserverGetLib/remoteSvn.py

Modified: trunk/misc/myserver-get/myserver-get.py
===================================================================
--- trunk/misc/myserver-get/myserver-get.py     2009-03-03 13:21:12 UTC (rev 
3021)
+++ trunk/misc/myserver-get/myserver-get.py     2009-03-03 16:06:15 UTC (rev 
3022)
@@ -5,13 +5,13 @@
 
 
 def usage(arg):
-    print "usage: myserver-get [update|search|install|source|source-auto] 
[-v|--verbose|-h|--help] "    
+    print "usage: myserver-get 
[update|search|install|source|source-auto|remove] [-v|--verbose|-h|--help] "    
         
 def main(argv):
     myserverGet = MyServerGet() 
     command = ""                        
     
-    commands = {"":usage, "update":myserverGet.update, 
"search":myserverGet.search,"install":myserverGet.install,"source":myserverGet.source,"source-auto":myserverGet.sourceAuto}
+    commands = {"":usage, "update":myserverGet.update, 
"search":myserverGet.search,"install":myserverGet.install,"source":myserverGet.source,"source-auto":myserverGet.sourceAuto,"remove":myserverGet.remove}
     
 
     import os
@@ -39,7 +39,7 @@
     
     arguments = []
     for arg in args:
-        if arg in ("update","search","install","source","source-auto"):
+        if arg in 
("update","search","install","source","source-auto","remove"):
             command = arg
         else:
             arguments.append(arg)

Modified: trunk/misc/myserver-get/myserverGetLib/general.py
===================================================================
--- trunk/misc/myserver-get/myserverGetLib/general.py   2009-03-03 13:21:12 UTC 
(rev 3021)
+++ trunk/misc/myserver-get/myserverGetLib/general.py   2009-03-03 16:06:15 UTC 
(rev 3022)
@@ -13,7 +13,6 @@
         self.__rep = repositoryFile
         self.__listDir = listDir
         self.__repManager = remote.RepositoryManager()
-        self.__repManager.addSupportedRepository("svn",remoteSvn.RepositorySvn)
         
self.__repManager.addSupportedRepository("http",remoteGenericUrl.RepositoryGenericUrl)
         
self.__repManager.addSupportedRepository("ftp",remoteGenericUrl.RepositoryGenericUrl)
         self.__list = []
@@ -128,7 +127,7 @@
             
             downloadErrors = []
             for (plugin,list) in toInstall:
-                if self.__dbManager.isPluginInstalled(plugin):
+                if 
self.__dbManager.isPluginInstalled(plugin["name"][0]["value"]):
                     console.writeln ("plugin %s already installed." % 
(plugin["name"][0]["value"]))
                     continue
                 rep = self.__repManager.getRepository(list.repository)
@@ -141,7 +140,7 @@
                 return None
                 
             for (plugin,list) in toInstall:
-                if self.__dbManager.isPluginInstalled(plugin):
+                if 
self.__dbManager.isPluginInstalled(plugin["name"][0]["value"]):
                     continue
                 
                 filename = config.MYSERVER_PLUGIN_DIR + "/%s-%s-%s.tar.gz" % 
(plugin["name"][0]["value"],plugin["version"][0]["value"],config.arch)
@@ -209,4 +208,24 @@
                  continue
                  
              console.writeln("Error while compiling the source package. check 
scons error message.")
-             
\ No newline at end of file
+    
+    def remove(self,args):
+        console.write ("the following plugins will be removed:\n %s\n do you 
want to continue?[Y|n] " % (", ".join(args)))
+        resp = string.lower(console.readln())
+            
+        while not resp in  ("y\n","n\n","\n"):
+            console.write ("the following plugins will be removed:\n %s\n do 
you want to continue?[Y|n] " % (", ".join(args)))
+            resp = string.lower(console.readln())
+        if resp == 'n\n':
+            console.writeln ("Install aborted.")
+            return None
+        
+        console.writeln ("")
+        
+        for arg in args:
+            if not self.__dbManager.isPluginInstalled(arg):
+                console.writeln("Plugin %s already not installed.\n" % (arg))
+            elif self.__dbManager.removePlugin(arg):
+                console.writeln("Plugin %s removed.\n" % (arg))
+            else:
+                console.writeln("Error while removing plugin %s.\n" % (arg))   
         
\ No newline at end of file

Modified: trunk/misc/myserver-get/myserverGetLib/local.py
===================================================================
--- trunk/misc/myserver-get/myserverGetLib/local.py     2009-03-03 13:21:12 UTC 
(rev 3021)
+++ trunk/misc/myserver-get/myserverGetLib/local.py     2009-03-03 16:06:15 UTC 
(rev 3022)
@@ -149,9 +149,19 @@
         self.plugins = [f for f in os.listdir(self.pluginsDir) if not 
os.path.isfile(os.path.join(self.pluginsDir, f))]
         
     def isPluginInstalled(self,plugin):
-        return plugin["name"][0]["value"] in self.plugins   
+        return plugin in self.plugins   
     
-            
+    
+    def removePlugin(self,plugin):
+        import shutil
+        import os
+        pluginPath = os.path.join(self.pluginsDir,plugin)
+        try:
+            shutil.rmtree(pluginPath)
+        except Exception:
+            return False
+        return True
+                
 
 if __name__ == "__main__":
     manager = ListManager("localhost.it",".","localhost.it-plugins.list")

Deleted: trunk/misc/myserver-get/myserverGetLib/remoteSvn.py
===================================================================
--- trunk/misc/myserver-get/myserverGetLib/remoteSvn.py 2009-03-03 13:21:12 UTC 
(rev 3021)
+++ trunk/misc/myserver-get/myserverGetLib/remoteSvn.py 2009-03-03 16:06:15 UTC 
(rev 3022)
@@ -1,43 +0,0 @@
-import pysvn
-import local
-import error
-import xml.dom.minidom
-from remote import Repository
-import console
-
-class RepositorySvn(Repository):
-    def __init__ (self,url):
-        Repository.__init__(self,url)
-        self.client = pysvn.Client()
-    
-    def __getPluginsList(self):
-        plugins = self.client.list(self.url + "/src",recurse=False)
-        import string
-        plugins = [string.split(elem[0]["repos_path"],"/")[-1] for elem in 
plugins]
-        return plugins[1:]
-    
-    def synchronizeListWithRepository(self, list):
-        console.write("update: "+ list.repository + '\n')
-        console.write("loading ")
-        localRevision = int(list.getRevision())
-        info = self.client.info2(self.url, recurse=False)
-        console.write(". ")
-        remoteRevision = int(info[0][1]["rev"].number)
-        if localRevision == remoteRevision:
-            console.write("local list already updated.\n")
-        if localRevision > remoteRevision:
-            raise error.FatalError("Local plugins list corrupted!!")
-        
-        if localRevision < remoteRevision:
-            list.resetToEmptyListFile(`remoteRevision`)
-            console.write(". ")
-            plugins = self.__getPluginsList()
-            console.write(". ")
-            for plugin in plugins:
-                url = self.url + "/src/" + plugin + "/plugin.xml"
-                pluginXml =  xml.dom.minidom.parseString(self.client.cat(url))
-                console.write(". ")
-                element = pluginXml.getElementsByTagName("PLUGIN")
-                pluginInfo = list.addPluginWithXml(element[0])
-            list.synchronizeListWithFileSystem()
-            console.write("DONE.\n")





reply via email to

[Prev in Thread] Current Thread [Next in Thread]