def _file_entry(self, path): assert os.path.isfile(path) filedir = os.path.dirname(path) filename = os.path.basename(path) filetype = os.path.splitext(filename)[1] entry = { 'f_id' : len(self.f_id), 'fpath' : path, 'fname' : filename, 'ftype' : filetype } try: f = mutagen.File(path, easy=True) except: f = None if f: fileinfo = { 'album' : f.tags.get('album'), 'artist' : f.tags.get('artist'), 'bitrate' : getattr(f.info, 'bitrate', 0), 'description' : f.tags.get('description'), 'genre' : f.tags.get('genre'), 'length' : getattr(f.info, 'length', 0.0), 'mtime' : mtime(path), 'title' : f.tags.get('title'), 'tracknumber' : f.tags.get('tracknumber') } entry.update(fileinfo) return entry
def _dir_entry(self, path, dirs, files): assert os.path.isdir(path) entry = { 'd_id' : len(self.d_id), 'dname' : path, 'dirs' : dirs, 'files' : files, 'mtime' : mtime(path) } return entry