[now_listen] Make plugin compatible with latest Gajim version

This commit is contained in:
André Apitzsch
2018-09-23 10:50:58 +02:00
parent e4ffa1301f
commit 5c1207d072
2 changed files with 24 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
[info] [info]
name: Now Listen name: Now Listen
short_name: now-listen short_name: now-listen
version: 0.3.1 version: 0.3.2
description: Copy tune info of playing music to conversation input box at cursor position (Alt + N) description: Copy tune info of playing music to conversation input box at cursor position (Alt + N)
authors = Denis Fomin <fominde@gmail.com> authors = Denis Fomin <fominde@gmail.com>
homepage = https://dev.gajim.org/gajim/gajim-plugins/wikis/NowListenPlugin homepage = https://dev.gajim.org/gajim/gajim-plugins/wikis/NowListenPlugin

View File

@@ -8,15 +8,12 @@ import logging
from gajim.plugins import GajimPlugin from gajim.plugins import GajimPlugin
from gajim.plugins.helpers import log_calls from gajim.plugins.helpers import log_calls
from gajim.plugins.gui import GajimPluginConfigDialog from gajim.plugins.gui import GajimPluginConfigDialog
from gajim.plugins.gajimplugin import GajimPluginException
from gajim.common import dbus_support
if dbus_support.supported:
from gajim.music_track_listener import MusicTrackListener
from gajim.music_track_listener import MusicTrackListener
log = logging.getLogger('gajim.plugin_system.now_listen') log = logging.getLogger('gajim.plugin_system.now_listen')
class NowListenPlugin(GajimPlugin): class NowListenPlugin(GajimPlugin):
@log_calls('NowListenPlugin') @log_calls('NowListenPlugin')
@@ -32,7 +29,7 @@ class NowListenPlugin(GajimPlugin):
'format_string': 'format_string':
(_('Now listening to: "%title" by %artist from %album'), ''), (_('Now listening to: "%title" by %artist from %album'), ''),
'format_string_http': 'format_string_http':
(_('Now listening to: "%title" by %artist'), ''),} (_('Now listening to: "%title" by %artist'), ''), }
self.controls = [] self.controls = []
self.first_run = True self.first_run = True
@@ -55,22 +52,27 @@ class NowListenPlugin(GajimPlugin):
@log_calls('NowListenPlugin') @log_calls('NowListenPlugin')
def activate(self): def activate(self):
if not dbus_support.supported:
raise GajimPluginException(_('python-dbus is missing!'))
listener = MusicTrackListener.get() listener = MusicTrackListener.get()
if not self.music_track_changed_signal: if not self.music_track_changed_signal:
self.music_track_changed_signal = listener.connect( self.music_track_changed_signal = listener.connect(
'music-track-changed', self.music_track_changed) 'music-track-changed', self.music_track_changed)
try:
listener.start()
except AttributeError:
track = listener.get_playing_track('org.mpris.MediaPlayer2') track = listener.get_playing_track('org.mpris.MediaPlayer2')
self.music_track_changed(listener, track) self.music_track_changed(listener, track)
@log_calls('NowListenPlugin') @log_calls('NowListenPlugin')
def deactivate(self): def deactivate(self):
if dbus_support.supported:
listener = MusicTrackListener.get() listener = MusicTrackListener.get()
if self.music_track_changed_signal: if self.music_track_changed_signal:
listener.disconnect(self.music_track_changed_signal) listener.disconnect(self.music_track_changed_signal)
self.music_track_changed_signal = None self.music_track_changed_signal = None
try:
listener.stop()
except AttributeError:
pass
def music_track_changed(self, unused_listener, music_track_info, def music_track_changed(self, unused_listener, music_track_info,
account=None): account=None):
@@ -132,7 +134,7 @@ class Base(object):
tune_string = format_string.\ tune_string = format_string.\
replace('%artist', self.plugin.artist).\ replace('%artist', self.plugin.artist).\
replace('%title', self.plugin.title).\ replace('%title', self.plugin.title).\
replace('%album',self.plugin.album).\ replace('%album', self.plugin.album).\
replace('%url', self.plugin.url) replace('%url', self.plugin.url)
message_buffer = self.chat_control.msg_textview.get_buffer() message_buffer = self.chat_control.msg_textview.get_buffer()