Skip to content

Commit

Permalink
Add platform and python information to startup logging (fixes #73)
Browse files Browse the repository at this point in the history
  • Loading branch information
adamcik committed Apr 23, 2011
1 parent 79771d6 commit f20b3b2
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 9 deletions.
19 changes: 14 additions & 5 deletions mopidy/__init__.py
Original file line number Diff line number Diff line change
@@ -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')
Expand All @@ -6,6 +7,12 @@

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:
Expand All @@ -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):
Expand Down
2 changes: 1 addition & 1 deletion mopidy/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)')
Expand Down
6 changes: 4 additions & 2 deletions mopidy/utils/log.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
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()
setup_console_logging(verbosity_level)
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('')
Expand Down
12 changes: 11 additions & 1 deletion tests/version_test.py
Original file line number Diff line number Diff line change
@@ -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):
Expand All @@ -18,3 +19,12 @@ def test_versions_can_be_strictly_ordered(self):
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())

0 comments on commit f20b3b2

Please sign in to comment.