예제 #1
0
 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
예제 #2
0
 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