[SCM] Git repository for devscripts branch, master, updated. v2.11.7-18-g272567e

Stefano Rivera stefanor at debian.org
Mon May 28 17:18:03 UTC 2012


The following commit has been merged in the master branch:
commit d90011af357ce3db75b3ffa8c5521564007bf741
Author: Stefano Rivera <stefanor at debian.org>
Date:   Mon May 28 17:50:50 2012 +0100

    devscripts.Logger Don't substitute arguments into logged strings unless they were provided. (LP: #968129)
    
    Refactor logging functions to use a common _print method.

diff --git a/debian/changelog b/debian/changelog
index 207b8bc..7bf30da 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -26,6 +26,10 @@ devscripts (2.11.8) UNRELEASED; urgency=low
     + Add --vendor= and DEBCHANGE_VENDOR to override the distributor ID
       returned by dpkg-vendor.
 
+  [ Stefano Rivera ]
+  * devscripts.Logger Don't substitute arguments into logged strings unless
+    they were provided. (LP: #968129)
+
  -- Benjamin Drung <bdrung at debian.org>  Mon, 28 May 2012 17:14:12 +0200
 
 devscripts (2.11.7) unstable; urgency=low
diff --git a/scripts/devscripts/logger.py b/scripts/devscripts/logger.py
index f9aa43c..7a72cd5 100644
--- a/scripts/devscripts/logger.py
+++ b/scripts/devscripts/logger.py
@@ -34,34 +34,38 @@ class Logger(object):
     stderr = sys.stderr
 
     @classmethod
+    def _print(cls, format_, message, args=None, stderr=False):
+        if args:
+            message = message % args
+        stream = cls.stderr if stderr else cls.stdout
+        print >> stream, format_ % (cls.script_name, message)
+
+    @classmethod
     def command(cls, cmd):
         if cls.verbose:
-            print >> cls.stdout, "%s: I: %s" % (cls.script_name,
-                                                " ".join(escape_arg(arg)
-                                                         for arg in cmd))
+            cls._print("%s: I: %s", " ".join(escape_arg(arg) for arg in cmd))
 
     @classmethod
     def debug(cls, message, *args):
         if cls.verbose:
-            print >> cls.stderr, "%s: D: %s" % (cls.script_name, message % args)
+            cls._print("%s: D: %s", message, args, stderr=True)
 
     @classmethod
     def error(cls, message, *args):
-        print >> cls.stderr, "%s: Error: %s" % (cls.script_name, message % args)
+        cls._print("%s: Error: %s", message, args, stderr=True)
 
     @classmethod
     def warn(cls, message, *args):
-        print >> cls.stderr, "%s: Warning: %s" % (cls.script_name,
-                                                  message % args)
+        cls._print("%s: Warning: %s", message, args, stderr=True)
 
     @classmethod
     def info(cls, message, *args):
         if cls.verbose:
-            print >> cls.stdout, "%s: I: %s" % (cls.script_name, message % args)
+            cls._print("%s: I: %s", message, args)
 
     @classmethod
     def normal(cls, message, *args):
-        print >> cls.stdout, "%s: %s" % (cls.script_name, message % args)
+        cls._print("%s: %s", message, args)
 
     @classmethod
     def set_verbosity(cls, verbose):

-- 
Git repository for devscripts



More information about the devscripts-devel mailing list