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