]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blobdiff - bin/pfa-rmpkg
Switch to Python 3 for rpm.org rpm
[projects/pld-ftp-admin.git] / bin / pfa-rmpkg
index faa4f3bcea3c21ca8459ffede21a767b569dd4a9..9035fc81310c4644c8b34e439c720bc3dd171a73 100755 (executable)
@@ -1,20 +1,37 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
 
+from __future__ import print_function
+
 import sys, os
 sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
-from ftptree import FtpTree
+import ftptree
 from common import checkdir
+import ftpio
 
 if len(sys.argv) < 3:
-    print "Not enough parameters given"
-    print "remove.py tree package1 [package2...]"
+    print("ERR: not enough parameters given")
+    print("remove.py tree package1 [package2...]")
     sys.exit(1)
 
 checkdir(sys.argv[1])
 
-tree=FtpTree(sys.argv[1])
+ftpio.connect('remove')
+
+if not ftpio.lock(sys.argv[1], True):
+    print("ERR: %s tree already locked" % sys.argv[1])
+    sys.exit(1)
+
+try:
+    tree=ftptree.FtpTree(sys.argv[1])
+    #tree.do_checkbuild=False
+    pkgs = list(set(sys.argv[2:]))
+    tree.mark4removal(pkgs)
+    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)
 
-tree.mark4removal(sys.argv[2:])
-tree.removepkgs()
+ftpio.unlock(sys.argv[1])
 
This page took 0.026909 seconds and 4 git commands to generate.