class mp3_file(object): """ Class represents a mp3 file and it's data tags """ def __init__(self, name, mode="r"): self._file_descriptor = open(name, mode) self._tags = {'id3': id3(self._file_descriptor), 'mpeg': mpeg(self._file_descriptor), 'stat': file_stats(self._file_descriptor)} self._create_properties() def _create_properties(self): """ Create properties from tags """ for tag_name, tag in self._tags.iteritems(): def get_tag(self): return self._tags[tag_name] setattr(self, tag_name, property(get_tag))