示例#1
0
 def GetRawLyrics(self, metadata):
     if isinstance(metadata, dict):
         metadata = Metadata.from_dict(metadata)
     uri = self.find_lrc_from_db(metadata)
     lrc = None
     if uri:
         if uri == 'none:':
             return True, uri, ''
         lrc = load_from_uri(uri)
         if lrc is not None:
             return True, uri, lrc
     uri = self.find_lrc_by_pattern(metadata)
     if uri:
         lrc = load_from_uri(uri)
         if lrc is not None:
             logging.info(
                 "LRC for track %s not found in db but fount by pattern: %s"
                 % (metadata_description(metadata), uri))
     if lrc is None:
         logging.info("LRC for track %s not found" %
                      metadata_description(metadata))
         return False, '', ''
     else:
         logging.info("LRC for track %s found: %s" %
                      (metadata_description(metadata), uri))
         return True, uri, lrc
示例#2
0
 def SetLyricContent(self, metadata, content):
     metadata = Metadata.from_dict(metadata)
     # Remove any existing file association and save the new lyrics content
     # to the configured patterns.
     self._db.delete(metadata)
     uri = self._save_to_patterns(metadata, content.rstrip(b'\0'))
     if uri and metadata == self._metadata:
         self.CurrentLyricsChanged()
     return uri
示例#3
0
 def __init__(self, ):
     osdlyrics.App.__init__(self, 'Daemon', False)
     self._player = player.PlayerSupport(self.connection)
     self._lyrics = lyrics.LyricsService(self.connection)
     self._connect_metadata_signal()
     self._activate_config()
     self.request_bus_name(osdlyrics.APP_MPRIS2_NAME)
     self._daemon_object = DaemonObject(self)
     self._lyricsource = lyricsource.LyricSource(self.connection)
     self._lyrics.set_current_metadata(Metadata.from_dict(self._player.current_player.Metadata))
示例#4
0
 def SetLyricContent(self, metadata, content):
     if isinstance(metadata, dict):
         metadata = Metadata.from_dict(metadata)
     uri = self.find_lrc_from_db(self._metadata)
     if uri is None or not save_to_uri(uri, content, False):
         uri = ''
     if uri == '':
         uri = self._save_to_patterns(metadata, content)
     if uri and metadata_equal(metadata, self._metadata):
         self.CurrentLyricsChanged()
     return uri
示例#5
0
 def __init__(self, ):
     App.__init__(self, 'Daemon', False)
     self._player = player.PlayerSupport(self.connection)
     self._lyrics = lyrics.LyricsService(self.connection)
     self._connect_metadata_signal()
     self._activate_config()
     self.request_bus_name(DAEMON_MPRIS2_NAME)
     self._daemon_object = DaemonObject(self)
     self._lyricsource = lyricsource.LyricSource(self.connection)
     self._lyrics.set_current_metadata(
         Metadata.from_dict(self._player.current_player.Metadata))
示例#6
0
 def SetLyricContent(self, metadata, content):
     if isinstance(metadata, dict):
         metadata = Metadata.from_dict(metadata)
     uri = self.find_lrc_from_db(self._metadata)
     if uri is None or not save_to_uri(uri, content, False):
         uri = ''
     if uri == '':
         uri = self._save_to_patterns(metadata, content)
     if uri and metadata_equal(metadata, self._metadata):
         self.CurrentLyricsChanged()
     return uri
示例#7
0
 def GetRawLyrics(self, metadata):
     if isinstance(metadata, dict):
         metadata = Metadata.from_dict(metadata)
     uri = self.find_lrc_from_db(metadata)
     lrc = None
     if uri:
         if uri == 'none:':
             return True, uri, ''
         lrc = load_from_uri(uri)
         if lrc is not None:
             return True, uri, lrc
     uri = self.find_lrc_by_pattern(metadata)
     if uri:
         lrc = load_from_uri(uri)
         if lrc is not None:
             logging.info("LRC for track %s not found in db but found by pattern: %s", metadata_description(metadata), uri)
     if lrc is None:
         logging.info("LRC for track %s not found", metadata_description(metadata))
         return False, '', ''
     else:
         logging.info("LRC for track %s found: %s", metadata_description(metadata), uri)
         return True, uri, lrc
示例#8
0
 def AssignLyricFile(self, metadata, filepath):
     if (isinstance(metadata, dict)):
         metadata = Metadata.from_dict(metadata)
     self.assign_lrc_uri(metadata, osdlyrics.utils.path2uri(filepath))
示例#9
0
 def AssignLyricFile(self, metadata, uri):
     metadata = Metadata.from_dict(metadata)
     self.assign_lrc_uri(metadata, uri)
示例#10
0
 def get_metadata(self):
     mt = self._player.GetMetadata()
     logging.debug(repr(mt))
     return Metadata.from_dict(mt)
示例#11
0
 def _player_properties_changed(self, iface, changed, invalidated):
     if 'Metadata' in changed:
         self._lyrics.set_current_metadata(
             Metadata.from_dict(changed['Metadata']))
示例#12
0
 def AssignLyricFile(self, metadata, filepath):
     if (isinstance(metadata, dict)):
         metadata = Metadata.from_dict(metadata)
     self.assign_lrc_uri(metadata, osdlyrics.utils.path2uri(filepath))
示例#13
0
 def _track_change_cb(self, metadata):
     metadata = Metadata.from_dict(metadata)
     self.track_changed(metadata)
示例#14
0
 def get_metadata(self):
     mt = self._player.GetMetadata()
     logging.debug(repr(mt))
     return Metadata.from_dict(mt)
示例#15
0
 def _player_properties_changed(self, iface, changed, invalidated):
     if 'Metadata' in changed:
         self._lyrics.set_current_metadata(Metadata.from_dict(changed['Metadata']))
示例#16
0
 def _track_change_cb(self, metadata):
     metadata = Metadata.from_dict(metadata)
     self.track_changed(metadata)
示例#17
0
 def get_metadata(self):
     mt = self._player.GetMetadata()
     print mt
     return Metadata.from_dict(mt)