From e817a09cece47d553f1554c5c3d86db4ec7f780d Mon Sep 17 00:00:00 2001 From: SARL ENR 68 Date: Thu, 10 Sep 2015 07:43:50 +0200 Subject: Adaptation to python3 using 2to3-3.4 - by papoteur --- BuildManager/build.py | 10 ++++----- BuildManager/fileutil.py | 48 +++++++++++++++++++++++++------------------- BuildManager/optionparser.py | 2 +- BuildManager/package.py | 44 ++++++++++++++++++---------------------- bm | 12 +++++------ bmclean | 10 ++++----- 6 files changed, 64 insertions(+), 62 deletions(-) diff --git a/BuildManager/build.py b/BuildManager/build.py index 73a1442..4efe006 100644 --- a/BuildManager/build.py +++ b/BuildManager/build.py @@ -1,7 +1,7 @@ from BuildManager.fileutil import * from BuildManager.package import * from BuildManager import * -import thread +import _thread import subprocess import sys, os import time @@ -10,7 +10,7 @@ import glob __all__ = ["PackageBuilder"] -GLOBAL_PKGLIST_LOCK = thread.allocate_lock() +GLOBAL_PKGLIST_LOCK = _thread.allocate_lock() STAGE_UNPACK = 0 STAGE_PREP = 1 @@ -56,12 +56,12 @@ class PackageBuilder: return True elif self.pkgsleft > 1 and self.pkgsleft % 10 != 0: logger.info("package list has %d packages" % pkgsleft) - self.pkglist_lock = thread.allocate_lock() + self.pkglist_lock = _thread.allocate_lock() self.failures = 0 if self.opts.parallel != 1: logger.info("starting threads") for i in range(self.opts.parallel-1): - thread.start_new_thread(self_processlist, ()) + _thread.start_new_thread(self_processlist, ()) self._processlist() while self.pkgsleft > 0: time.sleep(2) @@ -163,7 +163,7 @@ def filterpkglist(pkglist, directory, rule): filterfunc = lambda x: not filterfunc_tmp(x) else: filterfunc = getattr(filterlist, rule) - pkglist[:] = filter(filterfunc, pkglist) + pkglist[:] = list(filter(filterfunc, pkglist)) def buildpkglist(pkglist, stage, unpack_dir, passtrough="", diff --git a/BuildManager/fileutil.py b/BuildManager/fileutil.py index 93dd09d..aeba0eb 100644 --- a/BuildManager/fileutil.py +++ b/BuildManager/fileutil.py @@ -25,27 +25,31 @@ def _copy_file_contents (src, dst, buffer_size=16*1024): try: try: fsrc = open(src, 'rb') - except os.error, (errno, errstr): - raise Error, "could not open %s: %s" % (src, errstr) + except os.error as xxx_todo_changeme2: + (errno, errstr) = xxx_todo_changeme2.args + raise Error("could not open %s: %s" % (src, errstr)) try: fdst = open(dst, 'wb') - except os.error, (errno, errstr): - raise Error, "could not create %s: %s" % (dst, errstr) + except os.error as xxx_todo_changeme3: + (errno, errstr) = xxx_todo_changeme3.args + raise Error("could not create %s: %s" % (dst, errstr)) while 1: try: buf = fsrc.read(buffer_size) - except os.error, (errno, errstr): - raise Error, "could not read from %s: %s" % (src, errstr) + except os.error as xxx_todo_changeme: + (errno, errstr) = xxx_todo_changeme.args + raise Error("could not read from %s: %s" % (src, errstr)) if not buf: break try: fdst.write(buf) - except os.error, (errno, errstr): - raise Error, "could not write to %s: %s" % (dst, errstr) + except os.error as xxx_todo_changeme1: + (errno, errstr) = xxx_todo_changeme1.args + raise Error("could not write to %s: %s" % (dst, errstr)) finally: if fdst: @@ -80,8 +84,8 @@ def copy_file (src, dst, preserve_mode=1, preserve_times=1, link=None, from stat import ST_ATIME, ST_MTIME, ST_MODE, S_IMODE if not os.path.isfile(src): - raise Error, "can't copy '%s': " \ - "doesn't exist or not a regular file" % src + raise Error("can't copy '%s': " \ + "doesn't exist or not a regular file" % src) if os.path.isdir(dst): dir = dst @@ -92,7 +96,7 @@ def copy_file (src, dst, preserve_mode=1, preserve_times=1, link=None, try: action = _copy_action[link] except KeyError: - raise ValueError, "invalid value '%s' for 'link' argument" % link + raise ValueError("invalid value '%s' for 'link' argument" % link) if os.path.basename(dst) == os.path.basename(src): logger.info("%s %s to %s" % (action, src, dir)) else: @@ -141,38 +145,40 @@ def move_file (src, dst, dryrun=False): return dst if not isfile(src): - raise Error, "can't move %s: not a regular file" % src + raise Error("can't move %s: not a regular file" % src) if isdir(dst): dst = os.path.join(dst, basename(src)) elif exists(dst): - raise Error, "can't move %s: destination %s already exists" % \ - (src, dst) + raise Error("can't move %s: destination %s already exists" % \ + (src, dst)) if not isdir(dirname(dst)): - raise Error, "can't move %s: destination %s not a valid path" % \ - (src, dst) + raise Error("can't move %s: destination %s not a valid path" % \ + (src, dst)) copy_it = 0 try: os.rename(src, dst) - except os.error, (num, msg): + except os.error as xxx_todo_changeme5: + (num, msg) = xxx_todo_changeme5.args if num == errno.EXDEV: copy_it = 1 else: - raise Error, "couldn't move %s to %s: %s" % (src, dst, msg) + raise Error("couldn't move %s to %s: %s" % (src, dst, msg)) if copy_it: copy_file(src, dst) try: os.unlink(src) - except os.error, (num, msg): + except os.error as xxx_todo_changeme4: + (num, msg) = xxx_todo_changeme4.args try: os.unlink(dst) except os.error: pass - raise Error, "couldn't move %s to %s by copy/delete: " \ - "delete %s failed: %s" % (src, dst, src, msg) + raise Error("couldn't move %s to %s by copy/delete: " \ + "delete %s failed: %s" % (src, dst, src, msg)) return dst diff --git a/BuildManager/optionparser.py b/BuildManager/optionparser.py index ea1ae68..795848a 100644 --- a/BuildManager/optionparser.py +++ b/BuildManager/optionparser.py @@ -29,6 +29,6 @@ class OptionParser(optparse.OptionParser): return optparse.OptionParser.format_help(self, formatter) def error(self, msg): - raise Error, msg + raise Error(msg) # vim:et:ts=4:sw=4 diff --git a/BuildManager/package.py b/BuildManager/package.py index 0adfc10..140562d 100644 --- a/BuildManager/package.py +++ b/BuildManager/package.py @@ -1,7 +1,7 @@ from BuildManager import * from BuildManager.rpmver import rpmVersionCompare -from UserList import UserList -import commands +from collections import UserList +import subprocess import string import os import re @@ -22,17 +22,17 @@ def subst(s, vars): return str(vars[name]) try: return re.sub(r'\$([a-zA-Z]+)', _subst, s) - except KeyError, var: - raise Error, "variable $%s not declared" % var + except KeyError as var: + raise Error("variable $%s not declared" % var) class Package: def __init__(self, file, log=None): self._package = None ext = self._filename_extension(file) if not ext: - raise Error, "unknown file extension of "+file - if not globals().has_key("_package_"+ext): - raise Error, "unknown package extension of "+file + raise Error("unknown file extension of "+file) + if "_package_"+ext not in globals(): + raise Error("unknown package extension of "+file) self._package = globals()["_package_"+ext](file, log) def __getattr__(self, name): @@ -88,7 +88,7 @@ class _package_spec(_package): ret.append(str[start:]) break varname = str[start+2:end] - if vars.has_key(varname): + if varname in vars: ret.append(vars[varname]) else: ret.append(str[start:end+1]) @@ -100,9 +100,8 @@ class _package_spec(_package): ret = os.system("mkdir -p %s/{SOURCES,SPECS,BUILD,SRPMS,RPMS,BUILDROOT}" % self.builddir) try: f = open(self.spec,"r") - except IOError, e: - raise BuildManagerFileError, \ - "couldn't open spec file %s" % self.absfile + except IOError as e: + raise BuildManagerFileError("couldn't open spec file %s" % self.absfile) defines = {} for line in f.readlines(): lowerline = string.lower(line) @@ -119,8 +118,8 @@ class _package_spec(_package): if self.name and self.version and self.release: break else: - raise Error, "spec file %s doesn't define name, " \ - "version or release" % self.file + raise Error("spec file %s doesn't define name, " \ + "version or release" % self.file) self.type = "spec" self._expand_log() @@ -128,16 +127,14 @@ class _package_rpm(_package): def _init(self): if not rpm: cmd = "rpm -qp --queryformat='%%{NAME} %%{EPOCH} %%{VERSION} %%{RELEASE} %%{SOURCERPM}' %s"%self.file - status, output = commands.getstatusoutput(cmd) + status, output = subprocess.getstatusoutput(cmd) if status != 0: - raise BuildManagerPackageError, \ - "error querying rpm file %s" % self.file + raise BuildManagerPackageError("error querying rpm file %s" % self.file) else: tokens = string.split(output, " ") if len(tokens) != 5: - raise Error, \ - "unexpected output querying rpm file %s: %s" % \ - (self.file, output) + raise Error("unexpected output querying rpm file %s: %s" % \ + (self.file, output)) else: self.name, self.epoch, self.version, self.release, srpm = tokens if self.epoch == "(none)": @@ -176,16 +173,15 @@ class _package_rpm(_package): builddir = "%s/%s-%s-%s-topdir" % (unpackdir, self.name, self.version, self.release) ret = os.system("mkdir -p %s/{SOURCES,SPECS,BUILD,SRPMS,RPMS,BUILDROOT}" % builddir) if ret != 0: - raise BuildManagerPackageError, \ - "error creating builddir at %s" % builddir + raise BuildManagerPackageError("error creating builddir at %s" % builddir) else: return builddir def _install_srpm(self): cmd = "rpm -i --define '_topdir %s' %s &> %s"%(self.builddir,self.file,self.log) - status, output = commands.getstatusoutput(cmd) + status, output = subprocess.getstatusoutput(cmd) if status != 0: - raise Error, "error installing package "+self.file + raise Error("error installing package "+self.file) else: spec = self.builddir+"/SPECS/"+self.name+".spec" if not os.path.isfile(spec): @@ -194,7 +190,7 @@ class _package_rpm(_package): if file[-5:] != ".spec": listdir.remove(file) if len(listdir) != 1: - raise Error, "can't guess spec file for "+self.file + raise Error("can't guess spec file for "+self.file) else: self.spec = self.builddir+"/SPECS/"+listdir[0] return 1 diff --git a/bm b/bm index 2c84cef..0a0cbdb 100755 --- a/bm +++ b/bm @@ -123,13 +123,13 @@ def parse_options(): dir = tmpdir break else: - raise Error, "couldn't guess SPECS directory" + raise Error("couldn't guess SPECS directory") filelist = os.listdir(dir) for file in filelist[:]: if file[-5:] != ".spec": filelist.remove(file) if len(filelist) != 1: - raise Error, "couldn't guess spec file in "+dir + raise Error("couldn't guess spec file in "+dir) opts.args = [os.path.join(dir, filelist[0])] else: # Detect directories with a SPECS/ directory inside it @@ -141,7 +141,7 @@ def parse_options(): if file[-5:] != ".spec": filelist.remove(file) if len(filelist) != 1: - raise Error, "couldn't guess spec file in "+specsdir + raise Error("couldn't guess spec file in "+specsdir) opts.args[i] = os.path.join(specsdir, filelist[0]) opts.filter_renew = [y for x in opts.filter_renew @@ -165,8 +165,8 @@ def parse_options(): if attrval and not os.path.isdir(attrval): error = True if error: - raise Error, "value of --%s must be a directory" \ - % attr.replace("_", "-") + raise Error("value of --%s must be a directory" \ + % attr.replace("_", "-")) old_ignore = opts.ignore opts.ignore = [] @@ -186,7 +186,7 @@ def main(): logger.debug("starting bm") builder = PackageBuilder(opts) status = builder.run() - except Error, e: + except Error as e: logger.error(str(e)) logger.debug("finishing bm with error") sys.exit(1) diff --git a/bmclean b/bmclean index bddb60d..8c9426a 100755 --- a/bmclean +++ b/bmclean @@ -32,7 +32,7 @@ def parse_options(): opts.args = args if not opts.args: - raise Error, "you must specify one or more files to process" + raise Error("you must specify one or more files to process") actions = 0 if opts.remove: @@ -43,7 +43,7 @@ def parse_options(): actions += 1 if actions > 1: - raise Error, "you can't specify more than one action to perform" + raise Error("you can't specify more than one action to perform") for attr in ["move", "copy", "check"]: attrval = getattr(opts, attr) @@ -57,8 +57,8 @@ def parse_options(): if attrval and not os.path.isdir(attrval): error = True if error: - raise Error, "value of --%s must be a directory" \ - % attr.replace("_", "-") + raise Error("value of --%s must be a directory" \ + % attr.replace("_", "-")) return opts @@ -72,7 +72,7 @@ def main(): logger.debug("starting bmclean") cleaner = PackageCleaner(opts) status = cleaner.run() - except Error, e: + except Error as e: logger.error(str(e)) logger.debug("finishing bmclean with error") sys.exit(1) -- cgit v1.2.1