#!/usr/bin/env python # vi: encoding=utf-8 ts=8 sts=4 sw=4 et 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" print "move.py src-tree dst-tree [package1, package2, ...]" sys.exit(1) checkdir(sys.argv[1]) checkdir(sys.argv[2]) ftpio.connect('move') if not ftpio.lock(sys.argv[1], True): print "%s tree already locked" % sys.argv[1] sys.exit(1) if not ftpio.lock(sys.argv[2], True): ftpio.unlock(sys.argv[1]) print "%s tree already locked" % sys.argv[2] sys.exit(1) try: srctree=FtpTree(sys.argv[1], loadall=True) dsttree=FtpTree(sys.argv[2]) srctree.mark4moving(sys.argv[3:]) srctree.movepkgs(dsttree) except ftptree.SomeError: # In case of problems we need to unlock the tree before exiting ftpio.unlock(sys.argv[1]) ftpio.unlock(sys.argv[2]) sys.exit(1) ftpio.unlock(sys.argv[1]) ftpio.unlock(sys.argv[2])