-#!/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
import getopt
sys.path.insert(0, os.environ['HOME']+'/tld-ftp-admin/modules')
from config import sign_key
from sign import is_signed, signpkgs
-os.umask(022)
+os.umask(0o022)
try:
opts, args = getopt.getopt(sys.argv[1:], '')
except getopt.GetoptError:
- print >>sys.stderr, "ERR: options error"
- print >>sys.stderr, "sign.py tree package1 [package2...]"
+ print("ERR: options error", file=sys.stderr)
+ print("sign.py tree package1 [package2...]", file=sys.stderr)
sys.exit(1)
if len(args) < 1:
- print >>sys.stderr, "ERR: missing tree name"
- print >>sys.stderr, "sign.py tree package1 [package2...]"
+ print("ERR: missing tree name", file=sys.stderr)
+ print("sign.py tree package1 [package2...]", file=sys.stderr)
sys.exit(1)
if sign_key == None:
- print >>sys.stderr, "ERR: sign_key not defined in config"
+ print("ERR: sign_key not defined in config", file=sys.stderr)
sys.exit(1)
treename = args[0]
ftpio.connect('sign')
if not ftpio.lock(treename, True):
- print >>sys.stderr, "ERR: %s tree already locked" % treename
+ print("ERR: %s tree already locked" % treename, file=sys.stderr)
sys.exit(1)
files = []
ftpio.unlock(treename)
-print "Checking signatures of %d files from %d packages" % (len(files), len(tree.loadedpkgs))
+print("Checking signatures of %d files from %d packages" % (len(files), len(tree.loadedpkgs)))
sign = []
n = c = 0
for file in files:
sign.append(file)
c += 1
n += 1
- print "\r%d/%d %s\033[0K" % (n, c, file),
+ print("\r%d/%d %s\033[0K" % (n, c, file), end='')
-print ""
+print()
if len(sign) == 0:
- print "No files to sign"
+ print("No files to sign")
sys.exit(0)
# http://mail.python.org/pipermail/python-list/2009-February/700658.html
[[1], [2], [3], [4], [5], [6], [7], [8], [9]]
>>> list(chunk(range(1,10),9))
[[1, 2, 3, 4, 5, 6, 7, 8, 9]]
- >>> for X in chunk([],3): print X
+ >>> for X in chunk([],3): print(X)
>>>
'''
n = len(seq)
mod = n % size
- for i in xrange(0, n - mod, size):
+ for i in range(0, n - mod, size):
yield seq[i : i + size]
if mod:
yield seq[-mod:]
-print "Total %d files to sign" % len(sign)
+print("Total %d files to sign" % len(sign))
password = getpass.getpass("Enter signing password: ")
try:
for x in chunk(sign, 512):
- print "Signing %d files" % len(x)
+ print("Signing %d files" % len(x))
signpkgs(x, password)
-except OSError, e:
- print >>sys.stderr, "ERR: %s" % e
+except OSError as e:
+ print("ERR: %s" % e, file=sys.stderr)
exit(1)