Move devscripts.logger to ubuntutools.logger.

This commit is contained in:
Benjamin Drung 2013-03-19 00:18:02 +01:00
parent 70e79d313c
commit c2aa97dba2
31 changed files with 172 additions and 49 deletions

View File

@ -26,7 +26,6 @@ import sys
import tempfile import tempfile
import lsb_release import lsb_release
from devscripts.logger import Logger
from httplib2 import Http, HttpLib2Error from httplib2 import Http, HttpLib2Error
from ubuntutools.archive import (SourcePackage, DebianSourcePackage, from ubuntutools.archive import (SourcePackage, DebianSourcePackage,
@ -36,6 +35,7 @@ from ubuntutools.builder import get_builder
from ubuntutools.lp.lpapicache import (Launchpad, Distribution, from ubuntutools.lp.lpapicache import (Launchpad, Distribution,
SeriesNotFoundException, SeriesNotFoundException,
PackageNotFoundException) PackageNotFoundException)
from ubuntutools.logger import Logger
from ubuntutools.misc import (system_distribution, vendor_to_distroinfo, from ubuntutools.misc import (system_distribution, vendor_to_distroinfo,
codename_to_distribution) codename_to_distribution)
from ubuntutools.question import YesNoQuestion from ubuntutools.question import YesNoQuestion

View File

@ -27,9 +27,8 @@ from optparse import OptionParser
from launchpadlib.launchpad import Launchpad from launchpadlib.launchpad import Launchpad
from launchpadlib.errors import HTTPError from launchpadlib.errors import HTTPError
from devscripts.logger import Logger
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools.logger import Logger
def error_out(msg): def error_out(msg):
Logger.error(msg) Logger.error(msg)

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
ubuntu-dev-tools (0.147) UNRELEASED; urgency=low
* Move devscripts.logger to ubuntutools.logger.
-- Benjamin Drung <bdrung@debian.org> Tue, 19 Mar 2013 00:17:25 +0100
ubuntu-dev-tools (0.146) experimental; urgency=low ubuntu-dev-tools (0.146) experimental; urgency=low
[ Benjamin Drung ] [ Benjamin Drung ]

View File

@ -28,9 +28,8 @@
from optparse import OptionParser from optparse import OptionParser
import sys import sys
from devscripts.logger import Logger
from ubuntutools.harvest import Harvest from ubuntutools.harvest import Harvest
from ubuntutools.logger import Logger
def main(): def main():
usage = "usage: %prog source-package-name" usage = "usage: %prog source-package-name"

View File

@ -27,7 +27,6 @@ import re
import sys import sys
import webbrowser import webbrowser
from devscripts.logger import Logger
try: try:
import SOAPpy import SOAPpy
except ImportError: except ImportError:
@ -37,6 +36,7 @@ except ImportError:
from launchpadlib.launchpad import Launchpad from launchpadlib.launchpad import Launchpad
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools.logger import Logger
def main(): def main():
bug_re = re.compile(r"bug=(\d+)") bug_re = re.compile(r"bug=(\d+)")

View File

@ -32,13 +32,13 @@
import os import os
import sys import sys
from devscripts.logger import Logger
from distro_info import DebianDistroInfo, UbuntuDistroInfo, DistroDataOutdated from distro_info import DebianDistroInfo, UbuntuDistroInfo, DistroDataOutdated
import ubuntutools.misc import ubuntutools.misc
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools import subprocess from ubuntutools.logger import Logger
from ubuntutools.question import YesNoQuestion from ubuntutools.question import YesNoQuestion
from ubuntutools import subprocess
class PbuilderDist: class PbuilderDist:

View File

@ -23,10 +23,9 @@ import sys
import debian.debian_support import debian.debian_support
import debian.changelog import debian.changelog
from devscripts.logger import Logger
from ubuntutools.archive import DebianSourcePackage, DownloadError from ubuntutools.archive import DebianSourcePackage, DownloadError
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools.logger import Logger
def previous_version(package, version, distance): def previous_version(package, version, distance):
"Given an (extracted) package, determine the version distance versions ago" "Given an (extracted) package, determine the version distance versions ago"

View File

@ -21,11 +21,11 @@ import optparse
import sys import sys
import urllib2 import urllib2
from devscripts.logger import Logger
from distro_info import DebianDistroInfo, DistroDataOutdated from distro_info import DebianDistroInfo, DistroDataOutdated
from ubuntutools.archive import DebianSourcePackage, DownloadError, rmadison from ubuntutools.archive import DebianSourcePackage, DownloadError, rmadison
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools.logger import Logger
def is_suite(version): def is_suite(version):

View File

@ -29,7 +29,6 @@ import sys
import urllib2 import urllib2
from optparse import OptionParser from optparse import OptionParser
from devscripts.logger import Logger
from distro_info import UbuntuDistroInfo, DistroDataOutdated from distro_info import UbuntuDistroInfo, DistroDataOutdated
from ubuntutools.archive import UbuntuSourcePackage, DownloadError from ubuntutools.archive import UbuntuSourcePackage, DownloadError
@ -38,6 +37,7 @@ from ubuntutools.lp.lpapicache import Distribution, Launchpad
from ubuntutools.lp.udtexceptions import (SeriesNotFoundException, from ubuntutools.lp.udtexceptions import (SeriesNotFoundException,
PackageNotFoundException, PackageNotFoundException,
PocketDoesNotExistError) PocketDoesNotExistError)
from ubuntutools.logger import Logger
from ubuntutools.misc import split_release_pocket from ubuntutools.misc import split_release_pocket

View File

@ -20,15 +20,15 @@ import re
import sys import sys
import apt import apt
from devscripts.logger import Logger
from distro_info import UbuntuDistroInfo from distro_info import UbuntuDistroInfo
from ubuntutools.config import UDTConfig
from ubuntutools.lp.lpapicache import Launchpad, Distribution from ubuntutools.lp.lpapicache import Launchpad, Distribution
from ubuntutools.lp.udtexceptions import PackageNotFoundException from ubuntutools.lp.udtexceptions import PackageNotFoundException
from ubuntutools.config import UDTConfig from ubuntutools.logger import Logger
from ubuntutools.rdepends import query_rdepends, RDependsException
from ubuntutools.question import (YesNoQuestion, EditBugReport, from ubuntutools.question import (YesNoQuestion, EditBugReport,
confirmation_prompt) confirmation_prompt)
from ubuntutools.rdepends import query_rdepends, RDependsException
class DestinationException(Exception): class DestinationException(Exception):

View File

@ -17,9 +17,9 @@
import optparse import optparse
import sys import sys
from devscripts.logger import Logger
from distro_info import DistroDataOutdated from distro_info import DistroDataOutdated
from ubuntutools.logger import Logger
from ubuntutools.misc import (system_distribution, vendor_to_distroinfo, from ubuntutools.misc import (system_distribution, vendor_to_distroinfo,
codename_to_distribution) codename_to_distribution)
from ubuntutools.rdepends import query_rdepends, RDependsException from ubuntutools.rdepends import query_rdepends, RDependsException

View File

@ -22,10 +22,9 @@ import os
import time import time
import urllib import urllib
from devscripts.logger import Logger
from ubuntutools.lp.lpapicache import (Distribution, Launchpad, from ubuntutools.lp.lpapicache import (Distribution, Launchpad,
PackageNotFoundException) PackageNotFoundException)
from ubuntutools.logger import Logger
DATA_URL = 'http://qa.ubuntuwire.org/ubuntu-seeded-packages/seeded.json.gz' DATA_URL = 'http://qa.ubuntuwire.org/ubuntu-seeded-packages/seeded.json.gz'

View File

@ -20,10 +20,9 @@ import shutil
import sys import sys
import tempfile import tempfile
from devscripts.logger import Logger
from ubuntutools.config import UDTConfig
from ubuntutools.builder import get_builder from ubuntutools.builder import get_builder
from ubuntutools.config import UDTConfig
from ubuntutools.logger import Logger
from ubuntutools.sponsor_patch.sponsor_patch import (sponsor_patch, from ubuntutools.sponsor_patch.sponsor_patch import (sponsor_patch,
check_dependencies) check_dependencies)

View File

@ -30,21 +30,21 @@ import textwrap
import urllib import urllib
import debian.debian_support import debian.debian_support
from devscripts.logger import Logger
from distro_info import UbuntuDistroInfo, DistroDataOutdated from distro_info import UbuntuDistroInfo, DistroDataOutdated
from lazr.restfulclient.errors import HTTPError from lazr.restfulclient.errors import HTTPError
from ubuntutools.archive import (DebianSourcePackage, UbuntuSourcePackage, from ubuntutools.archive import (DebianSourcePackage, UbuntuSourcePackage,
DownloadError) DownloadError)
from ubuntutools.config import UDTConfig, ubu_email from ubuntutools.config import UDTConfig, ubu_email
from ubuntutools.requestsync.mail import (
get_debian_srcpkg as requestsync_mail_get_debian_srcpkg)
from ubuntutools.requestsync.lp import get_debian_srcpkg, get_ubuntu_srcpkg
from ubuntutools.lp import udtexceptions from ubuntutools.lp import udtexceptions
from ubuntutools.lp.lpapicache import (Distribution, Launchpad, PersonTeam, from ubuntutools.lp.lpapicache import (Distribution, Launchpad, PersonTeam,
SourcePackagePublishingHistory) SourcePackagePublishingHistory)
from ubuntutools.logger import Logger
from ubuntutools.misc import split_release_pocket from ubuntutools.misc import split_release_pocket
from ubuntutools.question import YesNoQuestion from ubuntutools.question import YesNoQuestion
from ubuntutools.requestsync.mail import (
get_debian_srcpkg as requestsync_mail_get_debian_srcpkg)
from ubuntutools.requestsync.lp import get_debian_srcpkg, get_ubuntu_srcpkg
from ubuntutools import subprocess from ubuntutools import subprocess

View File

@ -17,11 +17,10 @@
import optparse import optparse
import sys import sys
from devscripts.logger import Logger
from ubuntutools.lp.lpapicache import (Launchpad, Distribution, PersonTeam, from ubuntutools.lp.lpapicache import (Launchpad, Distribution, PersonTeam,
Packageset, PackageNotFoundException, Packageset, PackageNotFoundException,
SeriesNotFoundException) SeriesNotFoundException)
from ubuntutools.logger import Logger
from ubuntutools.misc import split_release_pocket from ubuntutools.misc import split_release_pocket

View File

@ -41,11 +41,10 @@ import debian.deb822
import debian.debian_support import debian.debian_support
import httplib2 import httplib2
from devscripts.logger import Logger
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools.lp.lpapicache import (Launchpad, Distribution, from ubuntutools.lp.lpapicache import (Launchpad, Distribution,
SourcePackagePublishingHistory) SourcePackagePublishingHistory)
from ubuntutools.logger import Logger
from ubuntutools import subprocess from ubuntutools import subprocess

View File

@ -20,7 +20,7 @@
import os import os
from devscripts.logger import Logger from ubuntutools.logger import Logger
from ubuntutools import subprocess from ubuntutools import subprocess
def _build_preparation(result_directory): def _build_preparation(result_directory):

View File

@ -22,7 +22,7 @@ import shlex
import socket import socket
import sys import sys
from devscripts.logger import Logger from ubuntutools.logger import Logger
class UDTConfig(object): class UDTConfig(object):
"""Ubuntu Dev Tools configuration file (devscripts config file) and """Ubuntu Dev Tools configuration file (devscripts config file) and

View File

@ -16,7 +16,7 @@ import os.path
import sys import sys
import urllib2 import urllib2
from devscripts.logger import Logger from ubuntutools.logger import Logger
BASE_URL = "http://harvest.ubuntu.com/" BASE_URL = "http://harvest.ubuntu.com/"

76
ubuntutools/logger.py Normal file
View File

@ -0,0 +1,76 @@
#
# logger.py - A simple logging helper class
#
# Copyright (C) 2010, Benjamin Drung <bdrung@debian.org>
#
# Permission to use, copy, modify, and/or distribute this software
# for any purpose with or without fee is hereby granted, provided
# that the above copyright notice and this permission notice appear
# in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
# AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
import os
import sys
def escape_arg(arg):
"""Shell-escpae arg, if necessary.
Fairly simplistic, doesn't escape anything except whitespace.
"""
if ' ' not in arg:
return arg
return '"%s"' % arg.replace('\\', r'\\').replace('"', r'\"')
class Logger(object):
script_name = os.path.basename(sys.argv[0])
verbose = False
stdout = sys.stdout
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
stream.write((format_ + "\n") % (cls.script_name, message))
@classmethod
def command(cls, cmd):
if cls.verbose:
cls._print("%s: I: %s", " ".join(escape_arg(arg) for arg in cmd))
@classmethod
def debug(cls, message, *args):
if cls.verbose:
cls._print("%s: D: %s", message, args, stderr=True)
@classmethod
def error(cls, message, *args):
cls._print("%s: Error: %s", message, args, stderr=True)
@classmethod
def warn(cls, message, *args):
cls._print("%s: Warning: %s", message, args, stderr=True)
@classmethod
def info(cls, message, *args):
if cls.verbose:
cls._print("%s: I: %s", message, args)
@classmethod
def normal(cls, message, *args):
cls._print("%s: %s", message, args)
@classmethod
def set_verbosity(cls, verbose):
cls.verbose = verbose

View File

@ -23,13 +23,13 @@
import re import re
from debian.deb822 import Changes from debian.deb822 import Changes
from devscripts.logger import Logger
from distro_info import DebianDistroInfo, DistroDataOutdated from distro_info import DebianDistroInfo, DistroDataOutdated
from httplib2 import Http, HttpLib2Error from httplib2 import Http, HttpLib2Error
from ubuntutools.lp import udtexceptions from ubuntutools.lp import udtexceptions
from ubuntutools.lp.lpapicache import (Launchpad, Distribution, PersonTeam, from ubuntutools.lp.lpapicache import (Launchpad, Distribution, PersonTeam,
DistributionSourcePackage) DistributionSourcePackage)
from ubuntutools.logger import Logger
from ubuntutools.question import confirmation_prompt from ubuntutools.question import confirmation_prompt

View File

@ -28,13 +28,13 @@ import socket
import tempfile import tempfile
from debian.changelog import Changelog, Version from debian.changelog import Changelog, Version
from devscripts.logger import Logger
from distro_info import DebianDistroInfo, DistroDataOutdated from distro_info import DebianDistroInfo, DistroDataOutdated
from ubuntutools.archive import rmadison, FakeSPPH from ubuntutools.archive import rmadison, FakeSPPH
from ubuntutools.lp.udtexceptions import PackageNotFoundException
from ubuntutools.logger import Logger
from ubuntutools.question import confirmation_prompt, YesNoQuestion from ubuntutools.question import confirmation_prompt, YesNoQuestion
from ubuntutools import subprocess from ubuntutools import subprocess
from ubuntutools.lp.udtexceptions import PackageNotFoundException
__all__ = [ __all__ = [
'get_debian_srcpkg', 'get_debian_srcpkg',

View File

@ -23,7 +23,7 @@ import debian.debian_support
import distro_info import distro_info
import httplib2 import httplib2
from devscripts.logger import Logger from ubuntutools.logger import Logger
def is_sync(bug): def is_sync(bug):
"""Checks if a Launchpad bug is a sync request. """Checks if a Launchpad bug is a sync request.

View File

@ -18,9 +18,8 @@
import os import os
import re import re
from devscripts.logger import Logger
from ubuntutools import subprocess from ubuntutools import subprocess
from ubuntutools.logger import Logger
from ubuntutools.sponsor_patch.question import ask_for_manual_fixing from ubuntutools.sponsor_patch.question import ask_for_manual_fixing
class Patch(object): class Patch(object):

View File

@ -22,10 +22,9 @@ import sys
import debian.changelog import debian.changelog
import debian.deb822 import debian.deb822
from devscripts.logger import Logger
from ubuntutools import subprocess from ubuntutools import subprocess
from ubuntutools.harvest import Harvest from ubuntutools.harvest import Harvest
from ubuntutools.logger import Logger
from ubuntutools.question import Question, YesNoQuestion from ubuntutools.question import Question, YesNoQuestion
from ubuntutools.sponsor_patch.question import (ask_for_ignoring_or_fixing, from ubuntutools.sponsor_patch.question import (ask_for_ignoring_or_fixing,

View File

@ -20,13 +20,12 @@ import pwd
import shutil import shutil
import sys import sys
from devscripts.logger import Logger
from distro_info import UbuntuDistroInfo from distro_info import UbuntuDistroInfo
from launchpadlib.launchpad import Launchpad from launchpadlib.launchpad import Launchpad
from ubuntutools import subprocess from ubuntutools import subprocess
from ubuntutools.logger import Logger
from ubuntutools.update_maintainer import (update_maintainer, from ubuntutools.update_maintainer import (update_maintainer,
MaintainerUpdateException) MaintainerUpdateException)
from ubuntutools.question import input_number from ubuntutools.question import input_number

View File

@ -28,10 +28,9 @@ import debian.deb822
import httplib2 import httplib2
import mox import mox
from devscripts.logger import Logger
import ubuntutools.archive import ubuntutools.archive
from ubuntutools.config import UDTConfig from ubuntutools.config import UDTConfig
from ubuntutools.logger import Logger
from ubuntutools.test import unittest from ubuntutools.test import unittest
from ubuntutools.test.example_package import ExamplePackage from ubuntutools.test.example_package import ExamplePackage

View File

@ -21,9 +21,8 @@ from StringIO import StringIO
import mox import mox
from devscripts.logger import Logger
from ubuntutools.config import UDTConfig, ubu_email from ubuntutools.config import UDTConfig, ubu_email
from ubuntutools.logger import Logger
from ubuntutools.test import unittest from ubuntutools.test import unittest
class ConfigTestCase(mox.MoxTestBase, unittest.TestCase): class ConfigTestCase(mox.MoxTestBase, unittest.TestCase):

View File

@ -0,0 +1,54 @@
# test_logger.py - Test ubuntutools.logger.Logger.
#
# Copyright (C) 2012, Stefano Rivera <stefanor@debian.org>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
import StringIO
import sys
from ubuntutools.logger import Logger
from ubuntutools.test import unittest
class LoggerTestCase(unittest.TestCase):
def setUp(self):
Logger.stdout = StringIO.StringIO()
Logger.stderr = StringIO.StringIO()
self._script_name = Logger.script_name
Logger.script_name = 'test'
self._verbose = Logger.verbose
def tearDown(self):
Logger.stdout = sys.stdout
Logger.stderr = sys.stderr
Logger.script_name = self._script_name
Logger.verbose = self._verbose
def testCommand(self):
Logger.command(('ls', 'a b'))
self.assertEqual(Logger.stdout.getvalue(), '')
Logger.set_verbosity(True)
Logger.command(('ls', 'a b'))
self.assertEqual(Logger.stdout.getvalue(), 'test: I: ls "a b"\n')
self.assertEqual(Logger.stderr.getvalue(), '')
def testNoArgs(self):
Logger.normal('hello %s')
self.assertEqual(Logger.stdout.getvalue(), 'test: hello %s\n')
self.assertEqual(Logger.stderr.getvalue(), '')
def testArgs(self):
Logger.normal('hello %s', 'world')
self.assertEqual(Logger.stdout.getvalue(), 'test: hello world\n')
self.assertEqual(Logger.stderr.getvalue(), '')

View File

@ -23,8 +23,7 @@ import sys
import mox import mox
from devscripts.logger import Logger from ubuntutools.logger import Logger
from ubuntutools.test import unittest from ubuntutools.test import unittest
from ubuntutools.update_maintainer import update_maintainer from ubuntutools.update_maintainer import update_maintainer

View File

@ -20,7 +20,7 @@ import os
import re import re
import debian.changelog import debian.changelog
from devscripts.logger import Logger from ubuntutools.logger import Logger
# Prior May 2009 these Maintainers were used: # Prior May 2009 these Maintainers were used:
_PREVIOUS_UBUNTU_MAINTAINER = ( _PREVIOUS_UBUNTU_MAINTAINER = (