def process_track(album, track): self.album_manager.progress = self._track_count / total self._track_count = self._track_count + 1 key = album.create_ext_db_key() finalPath = rb3compat.unquote(track.location)[7:] album_name = RB.search_fold(album.name) if use_album_name: folder_store = final_folder_store + '/' + album_name else: folder_store = final_folder_store try: if not os.path.exists(folder_store): os.makedirs(folder_store) if convert: self.convert_to_mp3(finalPath, folder_store, bitrate) finalPath = self._calc_mp3_filename(finalPath, folder_store) print(finalPath) else: shutil.copy(finalPath, folder_store) except IOError as err: print(err.args[0]) return False dest = os.path.join(folder_store, os.path.basename(finalPath)) desturi = 'file://' + rb3compat.pathname2url(dest) return search_tracks.embed(desturi, key, resize)
def add_genre_icon(self, filename): root = ET.parse(open(self._user_popups)).getroot() elem = root.xpath(self._sprite_name + '/index') next_index = int(elem[0].text) elem[0].text = str(next_index + 1) tree = ET.ElementTree(root) tree.write(self._user_popups, pretty_print=True, xml_declaration=True) key = RB.ExtDBKey.create_storage('icon', str(next_index)) uri = "file://" + rb3compat.pathname2url(filename) self._genre_db.store_uri(key, RB.ExtDBSourceType.USER_EXPLICIT, uri) pixbuf = GdkPixbuf.Pixbuf.new_from_file(filename) new_genre = GenreType(name=str(next_index), genre_type=self.GENRE_USER) if self._size: pixbuf = pixbuf.scale_simple(self._size[0], self._size[1], GdkPixbuf.InterpType.BILINEAR) self._alt_icons[new_genre.name] = pixbuf self.names.append(new_genre.name) return new_genre