Exemplo n.º 1
0
class Album(ValidatedImmutableObject):
    """
    :param uri: album URI
    :type uri: string
    :param name: album name
    :type name: string
    :param artists: album artists
    :type artists: list of :class:`Artist`
    :param num_tracks: number of tracks in album
    :type num_tracks: integer or :class:`None` if unknown
    :param num_discs: number of discs in album
    :type num_discs: integer or :class:`None` if unknown
    :param date: album release date (YYYY or YYYY-MM-DD)
    :type date: string
    :param musicbrainz_id: MusicBrainz ID
    :type musicbrainz_id: string
    :param images: album image URIs
    :type images: list of strings

    .. deprecated:: 1.2
        The ``images`` field is deprecated.
        Use :meth:`mopidy.core.LibraryController.get_images` instead.
    """

    #: The album URI. Read-only.
    uri = fields.URI()

    #: The album name. Read-only.
    name = fields.String()

    #: A set of album artists. Read-only.
    artists = fields.Collection(type=Artist, container=frozenset)

    #: The number of tracks in the album. Read-only.
    num_tracks = fields.Integer(min=0)

    #: The number of discs in the album. Read-only.
    num_discs = fields.Integer(min=0)

    #: The album release date. Read-only.
    date = fields.Date()

    #: The MusicBrainz ID of the album. Read-only.
    musicbrainz_id = fields.Identifier()

    #: The album image URIs. Read-only.
    #:
    #: .. deprecated:: 1.2
    #:     Use :meth:`mopidy.core.LibraryController.get_images` instead.
    images = fields.Collection(type=compat.string_types, container=frozenset)
Exemplo n.º 2
0
class Album(ValidatedImmutableObject):
    """
    :param uri: album URI
    :type uri: string
    :param name: album name
    :type name: string
    :param artists: album artists
    :type artists: list of :class:`Artist`
    :param num_tracks: number of tracks in album
    :type num_tracks: integer or :class:`None` if unknown
    :param num_discs: number of discs in album
    :type num_discs: integer or :class:`None` if unknown
    :param date: album release date (YYYY or YYYY-MM-DD)
    :type date: string
    :param musicbrainz_id: MusicBrainz ID
    :type musicbrainz_id: string
    :param images: album image URIs
    :type images: list of strings
    """

    #: The album URI. Read-only.
    uri = fields.URI()

    #: The album name. Read-only.
    name = fields.String()

    #: A set of album artists. Read-only.
    artists = fields.Collection(type=Artist, container=frozenset)

    #: The number of tracks in the album. Read-only.
    num_tracks = fields.Integer(min=0)

    #: The number of discs in the album. Read-only.
    num_discs = fields.Integer(min=0)

    #: The album release date. Read-only.
    date = fields.Date()

    #: The MusicBrainz ID of the album. Read-only.
    musicbrainz_id = fields.Identifier()

    #: The album image URIs. Read-only.
    images = fields.Collection(type=basestring, container=frozenset)
Exemplo n.º 3
0
class Track(ValidatedImmutableObject):
    """
    :param uri: track URI
    :type uri: string
    :param name: track name
    :type name: string
    :param artists: track artists
    :type artists: list of :class:`Artist`
    :param album: track album
    :type album: :class:`Album`
    :param composers: track composers
    :type composers: string
    :param performers: track performers
    :type performers: string
    :param genre: track genre
    :type genre: string
    :param track_no: track number in album
    :type track_no: integer or :class:`None` if unknown
    :param disc_no: disc number in album
    :type disc_no: integer or :class:`None` if unknown
    :param date: track release date (YYYY or YYYY-MM-DD)
    :type date: string
    :param length: track length in milliseconds
    :type length: integer or :class:`None` if there is no duration
    :param bitrate: bitrate in kbit/s
    :type bitrate: integer
    :param comment: track comment
    :type comment: string
    :param musicbrainz_id: MusicBrainz ID
    :type musicbrainz_id: string
    :param last_modified: Represents last modification time
    :type last_modified: integer or :class:`None` if unknown
    """

    #: The track URI. Read-only.
    uri = fields.URI()

    #: The track name. Read-only.
    name = fields.String()

    #: A set of track artists. Read-only.
    artists = fields.Collection(type=Artist, container=frozenset)

    #: The track :class:`Album`. Read-only.
    album = fields.Field(type=Album)

    #: A set of track composers. Read-only.
    composers = fields.Collection(type=Artist, container=frozenset)

    #: A set of track performers`. Read-only.
    performers = fields.Collection(type=Artist, container=frozenset)

    #: The track genre. Read-only.
    genre = fields.String()

    #: The track number in the album. Read-only.
    track_no = fields.Integer(min=0)

    #: The disc number in the album. Read-only.
    disc_no = fields.Integer(min=0)

    #: The track release date. Read-only.
    date = fields.Date()

    #: The track length in milliseconds. Read-only.
    length = fields.Integer(min=0)

    #: The track's bitrate in kbit/s. Read-only.
    bitrate = fields.Integer(min=0)

    #: The track comment. Read-only.
    comment = fields.String()

    #: The MusicBrainz ID of the track. Read-only.
    musicbrainz_id = fields.Identifier()

    #: Integer representing when the track was last modified. Exact meaning
    #: depends on source of track. For local files this is the modification
    #: time in milliseconds since Unix epoch. For other backends it could be an
    #: equivalent timestamp or simply a version counter.
    last_modified = fields.Integer(min=0)