All pastes #62824 Raw Edit

fixdisplay.py

public python v1 · immutable
#62824 ·published 2006-06-07 03:00 UTC
rendered paste body
__name = 'Fix Display'__author = 'Bill Good'__version = '.01'__blurb = 'Makes the main window\'s song display a little more intuitive.'__class = 'Plugin'class Plugin:	class Blank:		pass	def _init(self, data):		self.data = data		self.xml = self.data[0]		self.mpd = self.data[2]		self.first_time = True		self.r1 = self.xml.get_widget('label2')		self.r2 = self.Blank()		self.r2.lfrom = self.xml.get_widget('label3')		self.r2.album = self.xml.get_widget('albumLabel')		self.r2.by = self.xml.get_widget('label4')		self.r2.artist = self.xml.get_widget('artistLabel')		return None	def _spin(self, data, changed=False):		if changed: print 'changed'		if self.first_time:			changed = True			self.first_time = False		if changed is True:			song = self.mpd.getCurrentSong()			title = song.title			album = song.album			artist = song.artist			if album.strip() == '':				print "'%s'" % (album)				album = None			if artist.strip() == '':				artist = None			self.set_r1(title)			self.set_r2(album, artist)		return None	def _conf(self, has_dia=None):		return False	def _unload(self):		for x in (self.r2.lfrom, self.r2.album, self.r2.by, self.r2.artist):			x.show()		del self	def set_r1(self, s):		'''Set row 1 to str(s).'''		s = s.replace('<', '&lt;').replace('>', '&gt;').replace('&', '&amp;')		self.r1.set_markup('<b><big>%s</big></b>' % s)		return	def set_r2(self, album=None, artist=None):		'''Set album and artist fields.		If either is None, hide respective labels.'''		if album is None:			self.r2.lfrom.hide()			self.r2.album.hide()		else:			self.r2.lfrom.show()			self.r2.album.set_text(album)			self.r2.album.show()		if artist is None:			self.r2.by.hide()			self.r2.artist.hide()		else:			self.r2.by.show()			self.r2.artist.set_text(artist)			self.r2.artist.show()		return