예제 #1
0
        def __get_cover():
            
            fetch = not settings.get_option('covers/automatic_fetching', True)
            cover_data = COVER_MANAGER.get_cover(track, set_only=fetch)

            if not cover_data:
                return

            glib.idle_add(self.on_cover_chosen, None, track, cover_data)
예제 #2
0
        def __get_cover():
            
            fetch = not settings.get_option('covers/automatic_fetching', True)
            cover_data = COVER_MANAGER.get_cover(track, set_only=fetch)

            if not cover_data:
                return

            GLib.idle_add(self.on_cover_chosen, None, track, cover_data)
예제 #3
0
    def on_track_tags_changed(self, e, track, tag):
        """
            Updates the displayed cover upon tag changes
        """
        if self.__track == track:
            cover_data = COVER_MANAGER.get_cover(track)

            if not cover_data:
                return

            glib.idle_add(self.on_cover_chosen, None, cover_data)
예제 #4
0
    def on_track_tags_changed(self, e, track, tag):
        """
            Updates the displayed cover upon tag changes
        """
        if self.__track == track:
            cover_data = COVER_MANAGER.get_cover(track)

            if not cover_data:
                return

            GLib.idle_add(self.on_cover_chosen, None, cover_data)
 def _get_cover_url(self, track):
     trackid = track.get_tag_raw('__loc')
     if trackid not in self.cover_cache:
         cover_data = cover_manager.get_cover(track)
         if cover_data is not None:
             dir = os.path.expanduser('~/.cache/exaile')
             cover_temp = tempfile.NamedTemporaryFile(prefix='exaile-soundmenu', dir=dir, delete=False)
             cover_temp.write(cover_data)
             cover_temp.close()
             self.cover_cache[trackid] = "file://"+cover_temp.name
         else:
             return None
     return self.cover_cache[trackid]
예제 #6
0
 def _get_cover_url(self, track):
     trackid = track.get_tag_raw('__loc')
     trackhash = hashlib.sha1(trackid).hexdigest()
     if trackid not in self.cover_cache:
         cover_data = cover_manager.get_cover(track)
         if cover_data is not None:
             tempfile = os.path.join(xdg.get_cache_dir(), "cover-%s" % trackhash)
             try:
                 with open(tempfile, 'wb') as f:
                     f.write(cover_data)
             except BaseException as ex:
                 logger.error("Unable to export cover: %r" % ex)
                 return None
             self.cover_cache[trackid] = "file://%s" % tempfile
         else:
             return None
     return self.cover_cache[trackid]
예제 #7
0
파일: cover.py 프로젝트: unkie/exaile
    def show_cover(self):
        """
        Shows the currently selected cover
        """
        paths = self.previews_box.get_selected_items()

        if paths:
            path = paths[0]
            album = self.model[path][0]
            track = self.album_tracks[album][0]  # Arbitrary track in album
            cover_data = COVER_MANAGER.get_cover(track, set_only=True)
            cover_pixbuf = pixbuf_from_data(cover_data) if cover_data else None

            # Do not bother showing the dialog if there is no cover
            if cover_pixbuf:
                savedir = Gio.File.new_for_uri(track.get_loc_for_io()).get_parent()
                if savedir:
                    savedir = savedir.get_path()
                cover_window = CoverWindow(self.window, cover_pixbuf, album[1], savedir)
                cover_window.show_all()
예제 #8
0
파일: cover.py 프로젝트: thiblahute/exaile
    def show_cover(self):
        """
            Shows the currently selected cover
        """
        paths = self.previews_box.get_selected_items()

        if paths:
            path = paths[0]
            album = self.model[path][0]
            track = self.album_tracks[album][0]  # Arbitrary track in album
            cover_data = COVER_MANAGER.get_cover(track, set_only=True)
            cover_pixbuf = icons.MANAGER.pixbuf_from_data(cover_data) if cover_data else None

            # Do not bother showing the dialog if there is no cover
            if cover_pixbuf:
                savedir = gio.File(track.get_loc_for_io()).get_parent()
                if savedir:
                    savedir = savedir.get_path()
                cover_window = CoverWindow(self.window, cover_pixbuf, album[1], savedir)
                cover_window.show_all()