]> kaliko git repositories - mpd-goodies.git/blobdiff - src/nalbum
* nalbum: Check availability of next album before starting fading out
[mpd-goodies.git] / src / nalbum
index e48ad68ed1baf2309ba5873dc80b89bd5279190b..dbb2e14eae09da12e1ee0da1f80366815207a7ac 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009, 2010 Efrim <efrim@azylum.org> {{{
+# Copyright (c) 2009, 2010, 2012 Kaliko Jack <kaliko.jack@azylum.org>
 #
 #   This program is free software: you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
-#  }}}
 
 
 import sys
 
 from time import sleep
 
-from lib.mpdclass import MPDClass
-from lib.startop import StartOpt
+from lib.goodies import Goodie
+
 
 NAME = 'nalbum'
 VERSION = '0.1'
@@ -39,7 +38,7 @@ NALBUM_OPTS = list([
     ])
 
 
-class Nalbum(StartOpt, MPDClass):
+class Nalbum(Goodie):
     """
     """
     script_info = dict({
@@ -50,8 +49,8 @@ class Nalbum(StartOpt, MPDClass):
 
     def __init__(self):
         """"""
-        StartOpt.__init__(self, self.__class__.script_info, NALBUM_OPTS)
-        MPDClass.__init__(self)
+        Goodie.__init__(self, self.__class__.script_info,
+                extra_options=NALBUM_OPTS)
         self._run()
 
     def _fade(self, io='out'):
@@ -102,11 +101,12 @@ class Nalbum(StartOpt, MPDClass):
         """"""
         print 'Connecting %s:%i' % (self.cli_options.host, self.cli_options.port)
         self.mpdConnect()
+        nalbum = self._get_next()
         self.init_vol = int(self.client.status().get('volume'))
         if self.cli_options.time:
             print 'Cross fading next album'
             self._fade()
-        self.client.play(self._get_next())
+        self.client.play(nalbum)
         if self.cli_options.time:
             self._fade(io='in')
         self.client.disconnect()