Add platform and python information to startup logging (fixes #73)

This commit is contained in:
Thomas Adamcik 2011-04-23 15:02:40 +02:00
parent 79771d6e2c
commit f20b3b26f6
4 changed files with 30 additions and 9 deletions

View File

@ -1,3 +1,4 @@
import platform
import sys
if not (2, 6) <= sys.version_info < (3,):
sys.exit(u'Mopidy requires Python >= 2.6, < 3')
@ -6,6 +7,12 @@ from subprocess import PIPE, Popen
VERSION = (0, 4, 0)
def get_version():
try:
return get_git_version()
except EnvironmentError:
return get_plain_version()
def get_git_version():
process = Popen(['git', 'describe'], stdout=PIPE, stderr=PIPE)
if process.wait() != 0:
@ -18,11 +25,13 @@ def get_git_version():
def get_plain_version():
return '.'.join(map(str, VERSION))
def get_version():
try:
return get_git_version()
except EnvironmentError:
return get_plain_version()
def get_platform():
return platform.platform()
def get_python():
implementation = platform.python_implementation()
version = platform.python_version()
return u' '.join([implementation, version])
class MopidyException(Exception):
def __init__(self, message, *args, **kwargs):

View File

@ -29,7 +29,7 @@ def main():
ActorRegistry.stop_all()
def parse_options():
parser = optparse.OptionParser(version='Mopidy %s' % get_version())
parser = optparse.OptionParser(version=u'Mopidy %s' % get_version())
parser.add_option('-q', '--quiet',
action='store_const', const=0, dest='verbosity_level',
help='less output (warning level)')

View File

@ -1,7 +1,8 @@
import logging
import logging.handlers
import platform
from mopidy import get_version, settings
from mopidy import get_version, get_platform, get_python, settings
def setup_logging(verbosity_level, save_debug_log):
setup_root_logger()
@ -9,7 +10,8 @@ def setup_logging(verbosity_level, save_debug_log):
if save_debug_log:
setup_debug_logging_to_file()
logger = logging.getLogger('mopidy.utils.log')
logger.info(u'-- Starting Mopidy %s --', get_version())
logger.info(u'Starting Mopidy %s on %s %s',
get_version(), get_platform(), get_python())
def setup_root_logger():
root = logging.getLogger('')

View File

@ -1,7 +1,8 @@
from distutils.version import StrictVersion as SV
import unittest
import platform
from mopidy import get_plain_version
from mopidy import get_version, get_plain_version, get_platform, get_python
class VersionTest(unittest.TestCase):
def test_current_version_is_parsable_as_a_strict_version_number(self):
@ -18,3 +19,12 @@ class VersionTest(unittest.TestCase):
self.assert_(SV('0.3.0') < SV('0.3.1'))
self.assert_(SV('0.3.1') < SV(get_plain_version()))
self.assert_(SV(get_plain_version()) < SV('0.4.1'))
def test_get_platform_contains_platform(self):
self.assert_(platform.platform() in get_platform())
def test_get_python_contains_python_implementation(self):
self.assert_(platform.python_implementation() in get_python())
def test_get_python_contains_python_version(self):
self.assert_(platform.python_version() in get_python())