rename Item.media_fields to _media_fields

Following the convention of the other field sets and such. This helps avoid
any confusion with user-specified fields (although it's unlikely people will
want to name a flexible field "media_fields" :).
This commit is contained in:
Adrian Sampson 2014-04-07 20:21:20 -07:00
parent 8fb5ddc3b9
commit b3f31cbc0a
4 changed files with 13 additions and 12 deletions

View file

@ -333,11 +333,12 @@ class Item(LibModel):
_flex_table = 'item_attributes'
_search_fields = ITEM_DEFAULT_FIELDS
media_fields = set(MediaFile.readable_fields()).intersection(ITEM_KEYS)
"""Set of property names to read from ``MediaFile``.
_media_fields = set(MediaFile.readable_fields()).intersection(ITEM_KEYS)
"""Set of item fields that are backed by `MediaFile` fields.
``item.read()`` will read all properties in this set from
``MediaFile`` and set them on the item.
Any kind of field (fixed, flexible, and computed) may be a media
field. Only these fields are read from disk in `read` and written in
`write`.
"""
@classmethod
@ -393,7 +394,7 @@ class Item(LibModel):
"""Read the metadata from the associated file.
If ``read_path`` is specified, read metadata from that file
instead. Updates all the properties in ``Item.media_fields``
instead. Updates all the properties in `_media_fields`
from the media file.
Raises a `ReadError` if the file could not be read.
@ -407,7 +408,7 @@ class Item(LibModel):
except (OSError, IOError) as exc:
raise ReadError(read_path, exc)
for key in list(self.media_fields):
for key in list(self._media_fields):
value = getattr(mediafile, key)
if isinstance(value, (int, long)):
# Filter values wider than 64 bits (in signed representation).

View file

@ -111,7 +111,7 @@ class BeetsPlugin(object):
# Defer impor to prevent circular dependency
from beets import library
mediafile.MediaFile.add_field(name, descriptor)
library.Item.media_fields.add(name)
library.Item._media_fields.add(name)
listeners = None

View file

@ -919,7 +919,7 @@ def update_items(lib, query, album, move, pretend):
# Check for and display changes.
changed = ui.show_model_changes(item,
fields=library.Item.media_fields)
fields=library.Item._media_fields)
# Save changes.
if not pretend:
@ -1246,7 +1246,7 @@ def write_items(lib, query, pretend):
# Check for and display changes.
changed = ui.show_model_changes(item, clean_item,
library.Item.media_fields,
library.Item._media_fields,
always=True)
if changed and not pretend:
try:

View file

@ -274,7 +274,7 @@ class ExtendedFieldTestMixin(object):
mediafile = MediaFile(mediafile.path)
self.assertEqual(mediafile.initialkey, 'F#')
delattr(MediaFile, 'initialkey')
Item.media_fields.remove('initialkey')
Item._media_fields.remove('initialkey')
def test_write_extended_tag_from_item(self):
plugin = BeetsPlugin()
@ -289,7 +289,7 @@ class ExtendedFieldTestMixin(object):
self.assertEqual(mediafile.initialkey, 'Gb')
delattr(MediaFile, 'initialkey')
Item.media_fields.remove('initialkey')
Item._media_fields.remove('initialkey')
def test_read_flexible_attribute_from_file(self):
plugin = BeetsPlugin()
@ -302,7 +302,7 @@ class ExtendedFieldTestMixin(object):
self.assertEqual(item['initialkey'], 'F#')
delattr(MediaFile, 'initialkey')
Item.media_fields.remove('initialkey')
Item._media_fields.remove('initialkey')
def test_invalid_descriptor(self):
with self.assertRaises(ValueError) as cm: