def open(self): Device.open(self) if not gpod_available: logger.error( 'Please install the gpod module to sync with an iPod device.') return False if not os.path.isdir(self.mountpoint): return False self.notify('status', _('Opening iPod database')) self.itdb = gpod.itdb_parse(self.mountpoint, None) if self.itdb is None: return False self.itdb.mountpoint = self.mountpoint self.podcasts_playlist = gpod.itdb_playlist_podcasts(self.itdb) self.master_playlist = gpod.itdb_playlist_mpl(self.itdb) if self.podcasts_playlist: self.notify('status', _('iPod opened')) # build the initial tracks_list self.tracks_list = self.get_all_tracks() return True else: return False
def send_file_to_ipod(self, itdb, fname, tags): if not os.path.exists(fname): logger.error("File '%s' does not exist" % fname) return False logger.debug("Copying file '%s' to iPod..." % fname) podcasts = gpod.itdb_playlist_podcasts(itdb) track = gpod.itdb_track_new() track.visible = 1 track.filetype = "mp3" track.ipod_path = fname track.album = str(tags['album']) track.artist = str(tags['artist']) track.title = str(tags['title']) track.genre = str(tags['genre']) track.tracklen = tags['length'] track.playcount = 0 gpod.itdb_track_add(itdb, track, -1) gpod.itdb_playlist_add_track(podcasts, track, -1) is_copied = gpod.itdb_cp_track_to_ipod(track, fname, None) if is_copied: logger.info("File '%s' has been successfully copied to iPod" % fname) else: # roll back logger.error("File '%s' could not be copied to iPod" % fname) gpod.itdb_playlist_remove_track(podcasts, track) gpod.itdb_track_remove(track) track = None gpod.itdb_write(itdb, None) return is_copied
def copyToiPod(self,itdb,filename): """ Copy file to iPod via gpod library. """ track = gpod.itdb_track_new() pl=gpod.itdb_playlist_podcasts(itdb) audiofile = eyeD3.Mp3AudioFile(filename) tag = audiofile.getTag() for func, attrib in (('getArtist','artist'), ('getTitle','title'), ('getBPM','BPM'), ('getPlayCount','playcount'), ('getAlbum','album')): value = getattr(tag,func)() if value: value = value.encode("utf-8") setattr(track,attrib,value) track.skip_when_shuffling=0x01 track.remember_playback_position=0x01 track.mediatype = 0x00000004 track.mark_unplayed = 0x02 #track.flag4=0x01 track.tracklen = audiofile.getPlayTime() * 1000 gpod.itdb_track_add(itdb, track, -1) gpod.itdb_playlist_add_track(pl, track, -1) if gpod.itdb_cp_track_to_ipod(track,filename, None)!= 1: raise Exception('Unable to copy %s to iPod' % filename)
def open(self): if not os.path.isdir(self.mountpoint): return False self.notify('status', _('Opening iPod database')) self.itdb=gpod.itdb_parse(self.mountpoint, None) if self.itdb is None: return False self.itdb.mountpoint=self.mountpoint self.podcasts_playlist=gpod.itdb_playlist_podcasts(self.itdb) if self.podcasts_playlist: self.notify('status', _('iPod opened')) return True else: return False
def open(self): Device.open(self) if not gpod_available or not os.path.isdir(self.mountpoint): return False self.notify('status', _('Opening iPod database')) self.itdb = gpod.itdb_parse(self.mountpoint, None) if self.itdb is None: return False self.itdb.mountpoint = self.mountpoint self.podcasts_playlist = gpod.itdb_playlist_podcasts(self.itdb) self.master_playlist = gpod.itdb_playlist_mpl(self.itdb) if self.podcasts_playlist: self.notify('status', _('iPod opened')) # build the initial tracks_list self.tracks_list = self.get_all_tracks() return True else: return False
def get_podcasts(self): """Get the podcasts playlist.""" return Playlist(self, proxied_playlist=gpod.itdb_playlist_podcasts( self._itdb))
def get_podcasts(self): """Get the podcasts playlist.""" return Playlist(self,proxied_playlist=gpod.itdb_playlist_podcasts(self._itdb))