]> git.pld-linux.org Git - projects/pld-ftp-admin.git/blame - bin/pfa-testmvpkg
Make ftp tools python3 ready
[projects/pld-ftp-admin.git] / bin / pfa-testmvpkg
CommitLineData
9b00920e
MM
1#!/usr/bin/env python
2# vi: encoding=utf-8 ts=8 sts=4 sw=4 et
3
4import sys, os
5sys.path.insert(0, os.environ['HOME']+'/pld-ftp-admin/modules')
492b6398 6import ftptree
9b00920e 7from common import checkdir
0a108b7f 8import ftpio
213a164a 9from config import archived_trees, logs_list
9b00920e 10
f053c9e6 11if len(sys.argv) < 4:
749b120d 12 print "ERR: not enough parameters given"
f053c9e6 13 print "test-move.py src-tree dst-tree package [package2 package3 ...]"
9b00920e
MM
14 sys.exit(1)
15
16checkdir(sys.argv[1])
17checkdir(sys.argv[2])
18
213a164a
ER
19if sys.argv[2] in archived_trees:
20 archivetreename = ".archive/" + sys.argv[2]
21 checkdir(archivetreename)
22else:
23 archivetreename = None
24
0a108b7f
MM
25ftpio.connect('test-move')
26
27if not ftpio.lock(sys.argv[1], True):
749b120d 28 print "ERR: %s tree already locked" % sys.argv[1]
0a108b7f
MM
29 sys.exit(1)
30
31if not ftpio.lock(sys.argv[2], True):
32 ftpio.unlock(sys.argv[1])
749b120d 33 print "ERR: %s tree already locked" % sys.argv[2]
0a108b7f
MM
34 sys.exit(1)
35
213a164a
ER
36if archivetreename != None and archivetreename != sys.argv[1] and not ftpio.lock(archivetreename, True):
37 ftpio.unlock(sys.argv[2])
38 ftpio.unlock(sys.argv[1])
39 print "ERR: %s tree already locked" % archivetreename
40 sys.exit(1)
41
492b6398 42try:
8911f226
ER
43 srctree = ftptree.FtpTree(sys.argv[1], loadall = True)
44 dsttree = ftptree.FtpTree(sys.argv[2])
213a164a
ER
45 if archivetreename != None:
46 archivetree = ftptree.FtpTree(archivetreename)
47 else:
48 archivetree = None
f1d0a922
AM
49 pkgs = list(set(sys.argv[3:]))
50 srctree.mark4moving(pkgs)
492b6398
MM
51except ftptree.SomeError:
52 # In case of problems we need to unlock the trees before exiting
53 ftpio.unlock(sys.argv[1])
54 ftpio.unlock(sys.argv[2])
213a164a
ER
55 if archivetreename != None:
56 ftpio.unlock(archivetreename)
492b6398 57 sys.exit(1)
9b00920e 58
492b6398 59# We don't 'try' as in move.py cause this function doesn't force exit
213a164a 60srctree.testmove(dsttree, archivetree = archivetree)
9b00920e 61
0a108b7f
MM
62ftpio.unlock(sys.argv[1])
63ftpio.unlock(sys.argv[2])
213a164a
ER
64if archivetreename != None and archivetreename != sys.argv[1]:
65 ftpio.unlock(archivetreename)
This page took 0.764147 seconds and 4 git commands to generate.