]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blobdiff - bin/pfa-rmpkg
- all scripts use ftpiod for locking and logging
[projects/pld-ftp-admin.git] / bin / pfa-rmpkg
index faa4f3bcea3c21ca8459ffede21a767b569dd4a9..bfcec7a4bbc10176ab26a293c2468d34ed105037 100755 (executable)
@@ -5,6 +5,7 @@ import sys, os
 sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
 from ftptree import FtpTree
 from common import checkdir
+import ftpio
 
 if len(sys.argv) < 3:
     print "Not enough parameters given"
@@ -13,8 +14,20 @@ if len(sys.argv) < 3:
 
 checkdir(sys.argv[1])
 
-tree=FtpTree(sys.argv[1])
+ftpio.connect('remove')
 
-tree.mark4removal(sys.argv[2:])
-tree.removepkgs()
+if not ftpio.lock(sys.argv[1], True):
+    print "%s tree already locked" % sys.argv[1]
+    sys.exit(1)
+
+try:
+    tree=FtpTree(sys.argv[1])
+    tree.mark4removal(sys.argv[2:])
+    tree.removepkgs()
+except ftptree.SomeError:
+    # In case of problems we need to unlock the tree before exiting
+    ftpio.unlock(sys.argv[1])
+    sys.exit(1)
+
+ftpio.unlock(sys.argv[1])
 
This page took 0.030679 seconds and 4 git commands to generate.