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

View File

@ -27,9 +27,8 @@ from optparse import OptionParser
from launchpadlib.launchpad import Launchpad
from launchpadlib.errors import HTTPError
from devscripts.logger import Logger
from ubuntutools.config import UDTConfig
from ubuntutools.logger import Logger
def error_out(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
[ Benjamin Drung ]

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -20,10 +20,9 @@ import shutil
import sys
import tempfile
from devscripts.logger import Logger
from ubuntutools.config import UDTConfig
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,
check_dependencies)

View File

@ -30,21 +30,21 @@ import textwrap
import urllib
import debian.debian_support
from devscripts.logger import Logger
from distro_info import UbuntuDistroInfo, DistroDataOutdated
from lazr.restfulclient.errors import HTTPError
from ubuntutools.archive import (DebianSourcePackage, UbuntuSourcePackage,
DownloadError)
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.lpapicache import (Distribution, Launchpad, PersonTeam,
SourcePackagePublishingHistory)
from ubuntutools.logger import Logger
from ubuntutools.misc import split_release_pocket
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

View File

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

View File

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

View File

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

View File

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

View File

@ -16,7 +16,7 @@ import os.path
import sys
import urllib2
from devscripts.logger import Logger
from ubuntutools.logger import Logger
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
from debian.deb822 import Changes
from devscripts.logger import Logger
from distro_info import DebianDistroInfo, DistroDataOutdated
from httplib2 import Http, HttpLib2Error
from ubuntutools.lp import udtexceptions
from ubuntutools.lp.lpapicache import (Launchpad, Distribution, PersonTeam,
DistributionSourcePackage)
from ubuntutools.logger import Logger
from ubuntutools.question import confirmation_prompt

View File

@ -28,13 +28,13 @@ import socket
import tempfile
from debian.changelog import Changelog, Version
from devscripts.logger import Logger
from distro_info import DebianDistroInfo, DistroDataOutdated
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 import subprocess
from ubuntutools.lp.udtexceptions import PackageNotFoundException
__all__ = [
'get_debian_srcpkg',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -21,9 +21,8 @@ from StringIO import StringIO
import mox
from devscripts.logger import Logger
from ubuntutools.config import UDTConfig, ubu_email
from ubuntutools.logger import Logger
from ubuntutools.test import unittest
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
from devscripts.logger import Logger
from ubuntutools.logger import Logger
from ubuntutools.test import unittest
from ubuntutools.update_maintainer import update_maintainer

View File

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