From 2f41ed30de870877cb9f5910db924ba1b1f06c83 Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Sat, 30 Sep 2017 22:48:43 +0000 Subject: Add logging to player Also adds -v argument to the pydora player to enable debug logging. May add more logging later as it becomes useful. --- pydora/audio_backend.py | 8 ++++++++ pydora/player.py | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/pydora/audio_backend.py b/pydora/audio_backend.py index f92998a..1adf0a3 100644 --- a/pydora/audio_backend.py +++ b/pydora/audio_backend.py @@ -3,11 +3,15 @@ import time import fcntl import select import socket +import logging from pandora.py2compat import which from .utils import iterate_forever, SilentPopen +log = logging.getLogger("pydora.audio_backend") + + class PlayerException(Exception): """Base class for all player exceptions """ @@ -139,6 +143,7 @@ class BasePlayer(object): if not getattr(self, "_cmd"): raise RuntimeError("Player command is not configured") + log.debug("Starting playback command: %r", self._cmd) self._process = SilentPopen(self._cmd) self._post_start() @@ -211,6 +216,7 @@ class MPG123Player(BasePlayer): if not loc: raise PlayerUnusable("Unable to find mpg123") + log.info("Using mpg123 at path %s", loc) return loc def _load_track(self, song): @@ -246,6 +252,7 @@ class VLCPlayer(BasePlayer): if not loc: raise PlayerUnusable("Unable to find VLC") + log.info("Using vlc at location %s", loc) return loc def raise_volume(self): @@ -300,6 +307,7 @@ class RemoteVLC(VLCPlayer): def _ensure_started(self): if not self._control_sock: + log.debug("Connecting to remote VLC at %r", self._connect_to) self._control_sock = socket.create_connection(self._connect_to) self._control_sock.setblocking(False) diff --git a/pydora/player.py b/pydora/player.py index 128674b..3ff56dd 100644 --- a/pydora/player.py +++ b/pydora/player.py @@ -10,6 +10,7 @@ from __future__ import print_function import os import sys +import logging import argparse from pandora import clientbuilder @@ -253,10 +254,20 @@ class PlayerApp(object): parser.add_argument( "--vlc-net", dest="vlc_net", help="connect to VLC over the network (host:port)") + parser.add_argument( + "-v", dest="verbose", action="store_true", + help="enable verbose logging") return parser.parse_args() def run(self): - self.player = self.get_player(self._parse_args().vlc_net) + args = self._parse_args() + + if args.verbose: + logging.basicConfig(level=logging.DEBUG) + else: + logging.basicConfig(level=logging.ERROR) + + self.player = self.get_player(args.vlc_net) self.player.start() self.client = self.get_client() -- cgit v1.2.3