~jconti/ubuntu/precise/emesene/fix-956422

« back to all changes in this revision

Viewing changes to plugins_base/currentSong/Guayadeque.py

  • Committer: Bazaar Package Importer
  • Author(s): Devid Antonio Filoni
  • Date: 2010-04-14 01:33:51 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20100414013351-r2icbt5gs4ai71j8
Tags: 1.6.1-0ubuntu1
* New upstream release (LP: #562646).
* Fix missing-debian-source-format lintian warning.
* Refresh 20_dont_build_own_libmimic.patch patch.
* Bump Standards-Version to 3.8.4.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
VERSION = '0.1'
 
2
IFACE_NAME = 'org.mpris.guayadeque'
 
3
IFACE_PATH = '/Player'
 
4
 
 
5
import os
 
6
import CurrentSong
 
7
 
 
8
error = False
 
9
 
 
10
class Guayadeque ( CurrentSong.DbusBase ):
 
11
    '''guayadeque Interface'''
 
12
 
 
13
    def __init__( self ):
 
14
        CurrentSong.DbusBase.__init__( self, IFACE_NAME, self.setInterface )
 
15
 
 
16
        try:
 
17
            self.iface
 
18
        except:
 
19
            self.iface = None
 
20
            self.playingNow = ''
 
21
 
 
22
    def setInterface( self ):
 
23
        self.iface = self.bus.get_object(IFACE_NAME, IFACE_PATH)
 
24
 
 
25
    def isPlaying( self ):
 
26
        isPlayingiface = self.bus.get_object(IFACE_NAME, '/Player')
 
27
        if isPlayingiface:
 
28
            status = isPlayingiface.get_dbus_method("GetStatus", dbus_interface='org.freedesktop.MediaPlayer')()
 
29
            if status[0] == 0:
 
30
                return True
 
31
            else:
 
32
                return False
 
33
 
 
34
    def getCurrentSong(self):
 
35
        if self.iface:
 
36
            if self.isPlaying():
 
37
                current_song = self.iface.get_dbus_method("GetMetadata", dbus_interface='org.freedesktop.MediaPlayer')()
 
38
                self.artist = current_song['artist']
 
39
                self.title = current_song['title']
 
40
                self.album = current_song['album']
 
41
            return self.parseStyle()
 
42
 
 
43
    def check(self):
 
44
        if self.isPlaying():
 
45
            current_song = self.iface.get_dbus_method("GetMetadata", dbus_interface='org.freedesktop.MediaPlayer')()
 
46
            if self.artist != current_song['artist'] or \
 
47
                    self.title != current_song['title']:
 
48
                        self.artist = current_song['artist']
 
49
                        self.title = current_song['title']
 
50
                        self.album = current_song['album']
 
51
                        return True
 
52
            else:
 
53
                return False
 
54
 
 
55
    def getCoverPath(self):
 
56
        if self.iface and self.isNameActive(IFACE_NAME):
 
57
            dict = self.iface.get_dbus_method("GetMetadata", dbus_interface='org.freedesktop.MediaPlayer')()
 
58
            if dict.has_key('arturl'):
 
59
                print dict['arturl']
 
60
                return dict['arturl'].replace('file://','')
 
61
            return None
 
62
        else:
 
63
            return None
 
64