diff options
author | Sylvain Th?nault <sylvain.thenault@logilab.fr> | 2010-11-03 16:44:39 +0100 |
---|---|---|
committer | Sylvain Th?nault <sylvain.thenault@logilab.fr> | 2010-11-03 16:44:39 +0100 |
commit | 553669e2fc8f8bcc8a5a72a514abb6405da1272c (patch) | |
tree | 26bc08b6dee04950dfd8e31b57d9b7d3ab2df452 | |
parent | 5761ddccab78ee485e55f89d46a866da8bbcf577 (diff) | |
parent | 8cceca1baa01a39fb38c87757e36b7b0258bff55 (diff) | |
download | logilab-common-553669e2fc8f8bcc8a5a72a514abb6405da1272c.tar.gz |
default is stable
-rw-r--r-- | __init__.py | 16 | ||||
-rw-r--r-- | clcommands.py | 12 | ||||
-rw-r--r-- | compat.py | 7 | ||||
-rw-r--r-- | configuration.py | 2 | ||||
-rw-r--r-- | fileutils.py | 2 | ||||
-rw-r--r-- | graph.py | 9 | ||||
-rw-r--r-- | testlib.py | 4 |
7 files changed, 34 insertions, 18 deletions
diff --git a/__init__.py b/__init__.py index 558868e..d9c5e64 100644 --- a/__init__.py +++ b/__init__.py @@ -60,6 +60,22 @@ class nullobject(object): def __nonzero__(self): return False +class tempattr(object): + def __init__(self, obj, attr, value): + self.obj = obj + self.attr = attr + self.value = value + + def __enter__(self): + self.oldvalue = getattr(self.obj, self.attr) + setattr(self.obj, self.attr, self.value) + return self.obj + + def __exit__(self, exctype, value, traceback): + setattr(self.obj, self.attr, self.oldvalue) + + + # flatten ----- # XXX move in a specific module and use yield instead # do not mix flatten and translate diff --git a/clcommands.py b/clcommands.py index 1f08c0e..19a6c07 100644 --- a/clcommands.py +++ b/clcommands.py @@ -29,6 +29,7 @@ import logging from os.path import basename from logilab.common.configuration import Configuration +from logilab.common.logging_ext import init_log, get_threshold from logilab.common.deprecation import deprecated @@ -99,10 +100,9 @@ class CommandLine(dict): Terminate by :exc:`SystemExit` """ - from logilab.common import logging_ext - logging_ext.init_log(debug=True, # so that we use StreamHandler - logthreshold=self.logthreshold, - logformat='%(levelname)s: %(message)s') + init_log(debug=True, # so that we use StreamHandler + logthreshold=self.logthreshold, + logformat='%(levelname)s: %(message)s') try: arg = args.pop(0) except IndexError: @@ -139,7 +139,7 @@ class CommandLine(dict): logger = logging.Logger(self.pgm) logger.handlers = [handler] if logthreshold is None: - logthreshold = self.logthreshold + logthreshold = get_threshold(self.logthreshold) logger.setLevel(logthreshold) return logger @@ -148,7 +148,7 @@ class CommandLine(dict): logger = self.logger if logger is None: logger = self.logger = logging.getLogger(self.pgm) - logger.setLevel(self.logthreshold) + logger.setLevel(get_threshold(self.logthreshold)) return self[cmd](logger) def usage(self): @@ -69,8 +69,10 @@ if sys.version_info < (3, 0): from cStringIO import StringIO FileIO = file BytesIO = StringIO + reload = reload else: from io import FileIO, BytesIO, StringIO + from imp import reload # Where do pickles come from? try: @@ -87,8 +89,9 @@ except NameError:# Python 2.3 doesn't have `set` from logilab.common.deprecation import deprecated from itertools import izip, chain, imap -izip = deprecated('izip exists in itertools since py2.3')(izip) -imap = deprecated('imap exists in itertools since py2.3')(imap) +if sys.version_info < (3, 0):# 2to3 will remove the imports + izip = deprecated('izip exists in itertools since py2.3')(izip) + imap = deprecated('imap exists in itertools since py2.3')(imap) chain = deprecated('chain exists in itertools since py2.3')(chain) sum = deprecated('sum exists in builtins since py2.3')(sum) diff --git a/configuration.py b/configuration.py index 4006813..8606de5 100644 --- a/configuration.py +++ b/configuration.py @@ -859,7 +859,7 @@ class OptionsProviderMixIn(object): if option[0] == opt: return option[1] raise OptionError('no such option %s in section %r' - % (self.name, opt), opt) + % (opt, self.name), opt) def all_options(self): diff --git a/fileutils.py b/fileutils.py index aacd801..3d030e9 100644 --- a/fileutils.py +++ b/fileutils.py @@ -378,7 +378,7 @@ def export(from_dir, to_dir, for filename in filenames: # don't include binary files # endswith does not accept tuple in 2.4 - if any(filename.endswith(ext) for ext in ignore_ext): + if any([filename.endswith(ext) for ext in ignore_ext]): continue src = join(directory, filename) dest = to_dir + src[len(from_dir):] @@ -28,7 +28,7 @@ import os.path as osp import os import sys import tempfile -from logilab.common.compat import sorted, reversed +from logilab.common.compat import sorted, reversed, str_encode def escape(value): """Make <value> usable in a dot file.""" @@ -107,10 +107,7 @@ class DotBackend: os.close(pdot) os.close(ppng) pdot = open(dot_sourcepath,'w') - if isinstance(self.source, unicode): - pdot.write(self.source.encode('UTF8')) - else: - pdot.write(self.source) + pdot.write(str_encode(self.source, 'utf8')) pdot.close() if target != 'dot': if mapfile: @@ -189,7 +186,7 @@ def ordered_nodes(graph): ordered = [] while graph: # sorted to get predictable results - for node, deps in sorted(graph.items()): + for node, deps in sorted(graph.items(), key=id): if not deps: ordered.append(node) del graph[node] @@ -52,9 +52,9 @@ import difflib import types import tempfile import math +import warnings from shutil import rmtree from operator import itemgetter -import warnings from ConfigParser import ConfigParser from logilab.common.deprecation import deprecated from itertools import dropwhile @@ -1935,7 +1935,7 @@ def create_files(paths, chroot): if not osp.isdir(dirpath): os.makedirs(dirpath) for filepath in files: - file(filepath, 'w').close() + open(filepath, 'w').close() def enable_dbc(*args): """ |