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"
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])