From 9863acaddd79af17ac2dfa2b6bbfacaca100f3e6 Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Wed, 11 Jan 2012 16:52:29 +0000 Subject: [PATCH] debian/lib/python: PEP8 and other style fixes. svn path=/dists/trunk/linux-2.6/; revision=18488 --- debian/lib/python/debian_linux/abi.py | 13 ++-- debian/lib/python/debian_linux/config.py | 34 ++++++---- debian/lib/python/debian_linux/debian.py | 70 +++++++++++++++----- debian/lib/python/debian_linux/firmware.py | 3 + debian/lib/python/debian_linux/gencontrol.py | 32 +++++---- debian/lib/python/debian_linux/kconfig.py | 10 +-- debian/lib/python/debian_linux/patches.py | 27 +++++--- debian/lib/python/debian_linux/utils.py | 15 +++-- 8 files changed, 139 insertions(+), 65 deletions(-) diff --git a/debian/lib/python/debian_linux/abi.py b/debian/lib/python/debian_linux/abi.py index eae7a8380..1dcf63233 100644 --- a/debian/lib/python/debian_linux/abi.py +++ b/debian/lib/python/debian_linux/abi.py @@ -10,9 +10,12 @@ class Symbol(object): # Symbols are resolved to modules by depmod at installation/ # upgrade time, not compile time, so moving a symbol between # modules is not an ABI change. Compare everything else. - if self.name != other.name: return False - if self.version != other.version: return False - if self.export != other.export: return False + if self.name != other.name: + return False + if self.version != other.version: + return False + if self.export != other.export: + return False return True @@ -22,6 +25,7 @@ class Symbol(object): return ret return not ret + class Symbols(dict): def __init__(self, file=None): if file: @@ -36,4 +40,5 @@ class Symbols(dict): symbols = self.values() symbols.sort(key=lambda i: i.name) for s in symbols: - file.write("%s %s %s %s\n" % (s.version, s.name, s.module, s.export)) + file.write("%s %s %s %s\n" % + (s.version, s.name, s.module, s.export)) diff --git a/debian/lib/python/debian_linux/config.py b/debian/lib/python/debian_linux/config.py index fdbb081df..d32e6229e 100644 --- a/debian/lib/python/debian_linux/config.py +++ b/debian/lib/python/debian_linux/config.py @@ -1,4 +1,8 @@ -import os, os.path, re, sys, textwrap +import os +import os.path +import re +import sys +import textwrap __all__ = [ 'ConfigCoreDump', @@ -6,6 +10,7 @@ __all__ = [ 'ConfigParser', ] + class SchemaItemBoolean(object): def __call__(self, i): i = i.strip().lower() @@ -15,8 +20,9 @@ class SchemaItemBoolean(object): return False raise Error + class SchemaItemList(object): - def __init__(self, type = "\s+"): + def __init__(self, type="\s+"): self.type = type def __call__(self, i): @@ -25,6 +31,7 @@ class SchemaItemList(object): return [] return [j.strip() for j in re.split(self.type, i)] + class ConfigCore(dict): def get_merge(self, section, arch, featureset, flavour, key, default=None): temp = [] @@ -55,7 +62,7 @@ class ConfigCore(dict): return ret or default - def merge(self, section, arch = None, featureset = None, flavour = None): + def merge(self, section, arch=None, featureset=None, flavour=None): ret = {} ret.update(self.get((section,), {})) if featureset: @@ -81,8 +88,9 @@ class ConfigCore(dict): fp.write('%s: %r\n' % (item, items[item])) fp.write('\n') + class ConfigCoreDump(ConfigCore): - def __init__(self, config = None, fp = None): + def __init__(self, config=None, fp=None): super(ConfigCoreDump, self).__init__(self) if config is not None: self.update(config) @@ -98,6 +106,7 @@ class ConfigCoreDump(ConfigCore): data[key] = value_real self[section_real] = data + class ConfigCoreHierarchy(ConfigCore): config_name = "defines" @@ -134,7 +143,7 @@ class ConfigCoreHierarchy(ConfigCore): } } - def __init__(self, dirs = []): + def __init__(self, dirs=[]): super(ConfigCoreHierarchy, self).__init__() self._dirs = dirs self._read_base() @@ -143,8 +152,8 @@ class ConfigCoreHierarchy(ConfigCore): config = ConfigParser(self.schemas) config.read(self.get_files("%s/%s" % (arch, self.config_name))) - featuresets = config['base',].get('featuresets', []) - flavours = config['base',].get('flavours', []) + featuresets = config['base', ].get('featuresets', []) + flavours = config['base', ].get('flavours', []) for section in iter(config): if section[0] in featuresets: @@ -172,7 +181,7 @@ class ConfigCoreHierarchy(ConfigCore): config = ConfigParser(self.schemas) config.read(self.get_files("%s/%s/%s" % (arch, featureset, self.config_name))) - flavours = config['base',].get('flavours', []) + flavours = config['base', ].get('flavours', []) for section in iter(config): real = (section[-1], arch, featureset) + section[:-1] @@ -184,8 +193,8 @@ class ConfigCoreHierarchy(ConfigCore): config = ConfigParser(self.schemas) config.read(self.get_files(self.config_name)) - arches = config['base',]['arches'] - featuresets = config['base',].get('featuresets', []) + arches = config['base', ]['arches'] + featuresets = config['base', ].get('featuresets', []) for section in iter(config): if section[0].startswith('featureset-'): @@ -212,6 +221,7 @@ class ConfigCoreHierarchy(ConfigCore): def get_files(self, name): return [os.path.join(i, name) for i in self._dirs if i] + class ConfigParser(object): __slots__ = '_config', 'schemas' @@ -260,7 +270,8 @@ class ConfigParser(object): for key in data.keys(): try: data[key] = schema[key](data[key]) - except KeyError: pass + except KeyError: + pass super(ConfigParser.SectionSchema, self).__init__(data) if __name__ == '__main__': @@ -276,4 +287,3 @@ if __name__ == '__main__': for item in items: print "%s: %s" % (item, items[item]) print - diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py index 9287a40dd..e2e1c66d1 100644 --- a/debian/lib/python/debian_linux/debian.py +++ b/debian/lib/python/debian_linux/debian.py @@ -1,4 +1,8 @@ -import itertools, os.path, re, utils +import itertools +import os.path +import re +import utils + class Changelog(list): _rules = r""" @@ -26,7 +30,7 @@ class Changelog(list): def __init__(self, distribution, source, version): self.distribution, self.source, self.version = distribution, source, version - def __init__(self, dir = '', version = None): + def __init__(self, dir='', version=None): if version is None: version = Version f = file(os.path.join(dir, "debian/changelog")) @@ -45,6 +49,7 @@ class Changelog(list): v = Version(match.group('version')) self.append(self.Entry(match.group('distribution'), match.group('source'), v)) + class Version(object): _version_rules = ur""" ^ @@ -68,7 +73,7 @@ $ def __init__(self, version): match = self._version_re.match(version) if match is None: - raise RuntimeError, "Invalid debian version" + raise RuntimeError("Invalid debian version") self.epoch = None if match.group("epoch") is not None: self.epoch = int(match.group("epoch")) @@ -93,9 +98,10 @@ $ @property def debian(self): from warnings import warn - warn("debian argument was replaced by revision", DeprecationWarning, stacklevel = 2) + warn("debian argument was replaced by revision", DeprecationWarning, stacklevel=2) return self.revision + class VersionLinux(Version): _version_linux_rules = ur""" ^ @@ -137,7 +143,7 @@ $ super(VersionLinux, self).__init__(version) match = self._version_linux_re.match(version) if match is None: - raise RuntimeError, "Invalid debian linux version" + raise RuntimeError("Invalid debian linux version") d = match.groupdict() self.linux_modifier = d['modifier'] self.linux_version = d['version'] @@ -148,9 +154,10 @@ $ self.linux_dfsg = d['dfsg'] self.linux_revision_experimental = match.group('revision_experimental') and True self.linux_revision_other = match.group('revision_other') and True - + + class PackageFieldList(list): - def __init__(self, value = None): + def __init__(self, value=None): self.extend(value) def __str__(self): @@ -166,10 +173,11 @@ class PackageFieldList(list): else: super(PackageFieldList, self).extend(value) + class PackageDescription(object): __slots__ = "short", "long" - def __init__(self, value = None): + def __init__(self, value=None): self.short = [] self.long = [] if value is not None: @@ -178,7 +186,7 @@ class PackageDescription(object): self.append_short(short) def __str__(self): - wrap = utils.TextWrapper(width = 74, fix_sentence_endings = True).wrap + wrap = utils.TextWrapper(width=74, fix_sentence_endings=True).wrap short = ', '.join(self.short) long_pars = [] for i in self.long: @@ -203,6 +211,7 @@ class PackageDescription(object): else: raise TypeError + class PackageRelation(list): def __init__(self, value=None, override_arches=None): if value: @@ -221,7 +230,7 @@ class PackageRelation(list): if isinstance(value, basestring): value = PackageRelationGroup(value, override_arches) elif not isinstance(value, PackageRelationGroup): - raise ValueError, "got %s" % type(value) + raise ValueError("got %s" % type(value)) j = self._search_value(value) if j: j._update_arches(value) @@ -232,10 +241,11 @@ class PackageRelation(list): if isinstance(value, basestring): value = [j.strip() for j in re.split(',', value.strip())] elif not isinstance(value, (list, tuple)): - raise ValueError, "got %s" % type(value) + raise ValueError("got %s" % type(value)) for i in value: self.append(i, override_arches) + class PackageRelationGroup(list): def __init__(self, value=None, override_arches=None): if value: @@ -272,15 +282,38 @@ class PackageRelationGroup(list): for i in value: self.append(i, override_arches) + class PackageRelationEntry(object): __slots__ = "name", "operator", "version", "arches" _re = re.compile(r'^(\S+)(?: \((<<|<=|=|!=|>=|>>)\s*([^)]+)\))?(?: \[([^]]+)\])?$') class _operator(object): - OP_LT = 1; OP_LE = 2; OP_EQ = 3; OP_NE = 4; OP_GE = 5; OP_GT = 6 - operators = { '<<': OP_LT, '<=': OP_LE, '=': OP_EQ, '!=': OP_NE, '>=': OP_GE, '>>': OP_GT } - operators_neg = { OP_LT: OP_GE, OP_LE: OP_GT, OP_EQ: OP_NE, OP_NE: OP_EQ, OP_GE: OP_LT, OP_GT: OP_LE } + OP_LT = 1 + OP_LE = 2 + OP_EQ = 3 + OP_NE = 4 + OP_GE = 5 + OP_GT = 6 + + operators = { + '<<': OP_LT, + '<=': OP_LE, + '=': OP_EQ, + '!=': OP_NE, + '>=': OP_GE, + '>>': OP_GT, + } + + operators_neg = { + OP_LT: OP_GE, + OP_LE: OP_GT, + OP_EQ: OP_NE, + OP_NE: OP_EQ, + OP_GE: OP_LT, + OP_GT: OP_LE, + } + operators_text = dict([(b, a) for a, b in operators.iteritems()]) __slots__ = '_op', @@ -314,7 +347,7 @@ class PackageRelationEntry(object): def parse(self, value): match = self._re.match(value) if match is None: - raise RuntimeError, "Can't parse dependency %s" % value + raise RuntimeError("Can't parse dependency %s" % value) match = match.groups() self.name = match[0] if match[1] is not None: @@ -327,6 +360,7 @@ class PackageRelationEntry(object): else: self.arches = [] + class Package(dict): _fields = utils.SortedDict(( ('Package', str), @@ -355,13 +389,14 @@ class Package(dict): cls = self._fields[key] if not isinstance(value, cls): value = cls(value) - except KeyError: pass + except KeyError: + pass super(Package, self).__setitem__(key, value) def iterkeys(self): keys = set(self.keys()) for i in self._fields.iterkeys(): - if self.has_key(i): + if i in self: keys.remove(i) yield i for i in keys: @@ -374,4 +409,3 @@ class Package(dict): def itervalues(self): for i in self.iterkeys(): yield self[i] - diff --git a/debian/lib/python/debian_linux/firmware.py b/debian/lib/python/debian_linux/firmware.py index 35770c2e0..cc91ae7e0 100644 --- a/debian/lib/python/debian_linux/firmware.py +++ b/debian/lib/python/debian_linux/firmware.py @@ -1,5 +1,6 @@ import re + class FirmwareFile(object): def __init__(self, binary, desc=None, source=None, version=None): self.binary = binary @@ -7,12 +8,14 @@ class FirmwareFile(object): self.source = source self.version = version + class FirmwareSection(object): def __init__(self, driver, files, licence): self.driver = driver self.files = files self.licence = licence + class FirmwareWhence(list): def __init__(self, file): self.read(file) diff --git a/debian/lib/python/debian_linux/gencontrol.py b/debian/lib/python/debian_linux/gencontrol.py index ccb23c366..f49c5b1f7 100644 --- a/debian/lib/python/debian_linux/gencontrol.py +++ b/debian/lib/python/debian_linux/gencontrol.py @@ -1,6 +1,7 @@ from debian import * from utils import SortedDict + class PackagesList(SortedDict): def append(self, package): self[package['Package']] = package @@ -9,12 +10,13 @@ class PackagesList(SortedDict): for package in packages: self[package['Package']] = package + class Makefile(object): def __init__(self): self.rules = {} self.add('.NOTPARALLEL') - def add(self, name, deps = None, cmds = None): + def add(self, name, deps=None, cmds=None): if name in self.rules: self.rules[name].add(deps, cmds) else: @@ -31,12 +33,12 @@ class Makefile(object): self.rules[i].write(out) class Rule(object): - def __init__(self, name, deps = None, cmds = None): + def __init__(self, name, deps=None, cmds=None): self.name = name self.deps, self.cmds = set(), [] self.add(deps, cmds) - def add(self, deps = None, cmds = None): + def add(self, deps=None, cmds=None): if deps is not None: self.deps.update(deps) if cmds is not None: @@ -59,6 +61,7 @@ class Makefile(object): else: out.write('%s:%s\n' % (self.name, deps_string)) + class MakeFlags(dict): def __repr__(self): repr = super(flags, self).__repr__() @@ -70,12 +73,13 @@ class MakeFlags(dict): def copy(self): return self.__class__(super(MakeFlags, self).copy()) + class Gencontrol(object): makefile_targets = ('binary-arch', 'build', 'setup', 'source') - def __init__(self, config, templates, version = Version): + def __init__(self, config, templates, version=Version): self.config, self.templates = config, templates - self.changelog = Changelog(version = version) + self.changelog = Changelog(version=version) def __call__(self): packages = PackagesList() @@ -93,7 +97,7 @@ class Gencontrol(object): packages['source'] = self.process_package(source) def do_main(self, packages, makefile): - config_entry = self.config['base',] + config_entry = self.config['base', ] vars = self.vars.copy() makeflags = MakeFlags() @@ -108,13 +112,13 @@ class Gencontrol(object): pass def do_main_makefile(self, makefile, makeflags, extra): - makefile.add('binary-indep', cmds = ["$(MAKE) -f debian/rules.real binary-indep %s" % makeflags]) + makefile.add('binary-indep', cmds=["$(MAKE) -f debian/rules.real binary-indep %s" % makeflags]) def do_main_packages(self, packages, vars, makeflags, extra): pass def do_main_recurse(self, packages, makefile, vars, makeflags, extra): - for arch in iter(self.config['base',]['arches']): + for arch in iter(self.config['base', ]['arches']): self.do_arch(packages, makefile, arch, vars.copy(), makeflags.copy(), extra) def do_extra(self, packages, makefile): @@ -136,11 +140,11 @@ class Gencontrol(object): cmds = [] for i in extra_arches[arch]: tmp = [] - if i.has_key('X-Version-Overwrite-Epoch'): + if 'X-Version-Overwrite-Epoch' in i: tmp.append("-v1:%s" % self.version['source']) cmds.append("$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-p%s' GENCONTROL_ARGS='%s'" % (i['Package'], ' '.join(tmp))) - makefile.add('binary-arch_%s' % arch ['binary-arch_%s_extra' % arch]) - makefile.add("binary-arch_%s_extra" % arch, cmds = cmds) + makefile.add('binary-arch_%s' % arch['binary-arch_%s_extra' % arch]) + makefile.add("binary-arch_%s_extra" % arch, cmds=cmds) def do_arch(self, packages, makefile, arch, vars, makeflags, extra): vars['arch'] = arch @@ -218,7 +222,7 @@ class Gencontrol(object): ('kernel-arch', 'KERNEL_ARCH'), ('localversion', 'LOCALVERSION'), ): - if vars.has_key(i[0]): + if i[0] in vars: makeflags[i[1]] = vars[i[0]] def do_flavour_makefile(self, makefile, arch, featureset, flavour, makeflags, extra): @@ -269,8 +273,10 @@ class Gencontrol(object): def substitute(self, s, vars): if isinstance(s, (list, tuple)): return [self.substitute(i, vars) for i in s] + def subst(match): return vars[match.group(1)] + return re.sub(r'@([-_a-z]+)@', subst, s) def write(self, packages, makefile): @@ -295,5 +301,3 @@ class Gencontrol(object): for key, value in entry.iteritems(): f.write("%s: %s\n" % (key, value)) f.write('\n') - - diff --git a/debian/lib/python/debian_linux/kconfig.py b/debian/lib/python/debian_linux/kconfig.py index e655e5e24..70668c8e3 100644 --- a/debian/lib/python/debian_linux/kconfig.py +++ b/debian/lib/python/debian_linux/kconfig.py @@ -6,6 +6,7 @@ __all__ = ( "KconfigFile", ) + class EntryString(object): __slots__ = "name", "value" @@ -16,6 +17,7 @@ class EntryString(object): def __str__(self): return "CONFIG_%s=%s" % (self.name, self.value) + class EntryTristate(object): __slots__ = "name", "value" @@ -23,7 +25,7 @@ class EntryTristate(object): VALUE_YES = 1 VALUE_MOD = 2 - def __init__(self, name, value = None): + def __init__(self, name, value=None): self.name = name if value == 'n' or value is None: self.value = self.VALUE_NO @@ -41,6 +43,7 @@ class EntryTristate(object): elif self.value == self.VALUE_MOD: return "%s=m" % conf + class KconfigFile(SortedDict): def __str__(self): ret = [] @@ -54,7 +57,7 @@ class KconfigFile(SortedDict): if line.startswith("CONFIG_"): i = line.find('=') option = line[7:i] - value = line[i+1:] + value = line[i + 1:] self.set(option, value) elif line.startswith("# CONFIG_"): option = line[9:-11] @@ -62,7 +65,7 @@ class KconfigFile(SortedDict): elif line.startswith("#") or not line: pass else: - raise RuntimeError, "Can't recognize %s" % line + raise RuntimeError("Can't recognize %s" % line) def set(self, key, value): if value in ('y', 'm', 'n'): @@ -74,4 +77,3 @@ class KconfigFile(SortedDict): def str_iter(self): for key, value in self.iteritems(): yield str(value) - diff --git a/debian/lib/python/debian_linux/patches.py b/debian/lib/python/debian_linux/patches.py index 3649ab1fa..e23fcce32 100644 --- a/debian/lib/python/debian_linux/patches.py +++ b/debian/lib/python/debian_linux/patches.py @@ -1,10 +1,13 @@ -import glob, os, shutil +import glob +import os +import shutil + class Operation(object): def __init__(self, name, data): self.name, self.data = name, data - def __call__(self, dir = '.', reverse = False): + def __call__(self, dir='.', reverse=False): try: if not reverse: self.do(dir) @@ -28,6 +31,7 @@ class Operation(object): def do_reverse(self, dir): raise NotImplementedError + class OperationPatch(Operation): def __init__(self, name, fopen, data): super(OperationPatch, self).__init__(name, data) @@ -46,18 +50,21 @@ class OperationPatch(Operation): def patch_pop(self, dir): self._call(dir, '-R') + class OperationPatchPush(OperationPatch): operation = '+' do = OperationPatch.patch_push do_reverse = OperationPatch.patch_pop + class OperationPatchPop(OperationPatch): operation = '-' do = OperationPatch.patch_pop do_reverse = OperationPatch.patch_push + class SubOperation(Operation): def _log(self, result): if result: @@ -66,6 +73,7 @@ class SubOperation(Operation): s = "FAIL" print """ %-10s %-4s %s""" % ('(%s)' % self.operation, s, self.name) + class SubOperationFilesRemove(SubOperation): operation = "remove" @@ -77,6 +85,7 @@ class SubOperationFilesRemove(SubOperation): else: os.unlink(n) + class SubOperationFilesUnifdef(SubOperation): operation = "unifdef" @@ -94,6 +103,7 @@ class SubOperationFilesUnifdef(SubOperation): f1.write(data) f1.close() + class OperationFiles(Operation): operation = 'X' @@ -126,7 +136,8 @@ class OperationFiles(Operation): def do(self, dir): for i in self.ops: - i(dir = dir) + i(dir=dir) + class PatchSeries(list): operations = { @@ -166,20 +177,21 @@ class PatchSeries(list): self.append(self.operations[operation](filename, fopen, data)) - def __call__(self, cond = bool, dir = '.', reverse = False): + def __call__(self, cond=bool, dir='.', reverse=False): if not reverse: l = self else: l = self[::-1] for i in l: if cond(i): - i(dir = dir, reverse = reverse) + i(dir=dir, reverse=reverse) def __repr__(self): return '<%s object for %s>' % (self.__class__.__name__, self.name) + class PatchSeriesList(list): - def __call__(self, cond = bool, reverse = False): + def __call__(self, cond=bool, reverse=False): if not reverse: l = self else: @@ -189,7 +201,7 @@ class PatchSeriesList(list): print "--> Try to unapply %s." % i.name else: print "--> Try to apply %s." % i.name - i(cond = cond, reverse = reverse) + i(cond=cond, reverse=reverse) if reverse: print "--> %s fully unapplied." % i.name else: @@ -205,4 +217,3 @@ class PatchSeriesList(list): except IOError: pass return ret - diff --git a/debian/lib/python/debian_linux/utils.py b/debian/lib/python/debian_linux/utils.py index 4057177da..ef62fc4af 100644 --- a/debian/lib/python/debian_linux/utils.py +++ b/debian/lib/python/debian_linux/utils.py @@ -1,13 +1,16 @@ from __future__ import absolute_import -import re, os, textwrap +import os +import re +import textwrap _marker = object + class SortedDict(dict): __slots__ = '_list', - def __init__(self, entries = None): + def __init__(self, entries=None): super(SortedDict, self).__init__() self._list = [] if entries is not None: @@ -35,8 +38,9 @@ class SortedDict(dict): for i in iter(self._list): yield self[i] + class Templates(object): - def __init__(self, dirs = ["debian/templates"]): + def __init__(self, dirs=["debian/templates"]): self.dirs = dirs self._cache = {} @@ -67,6 +71,7 @@ class Templates(object): return default return value + def read_control(f): from .debian import Package @@ -96,7 +101,7 @@ def read_control(f): if i < 0: raise ValueError("Not a header, not a continuation: ``%s''" % line) last = line[:i] - lines = [line[i+1:].lstrip()] + lines = [line[i + 1:].lstrip()] if last: e[last] = '\n'.join(lines) if e: @@ -104,8 +109,8 @@ def read_control(f): return entries + class TextWrapper(textwrap.TextWrapper): wordsep_re = re.compile( r'(\s+|' # any whitespace r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))') # em-dash -