Skip to main content

A easy wrapper for mutagen

Project description

http://img.shields.io/pypi/v/phrydy.svg https://travis-ci.org/Josef-Friedrich/phrydy.svg?branch=master

phrydy

This package originates from the file beets/mediafile.py of the beets project.

Handles low-level interfacing for files’ tags. Wraps Mutagen to automatically detect file types and provide a unified interface for a useful subset of music files’ tags.

Installation

From Github

git clone git@github.com:Josef-Friedrich/phrydy.git
cd phrydy
python setup.py install

From PyPI

pip install phrydy
easy_install phrydy

Usage

Basic usage:

>>> from phrydy import MediaFile
>>> f = MediaFile('Lucy.mp3')
>>> f.title
u'Lucy in the Sky with Diamonds'
>>> f.artist = 'The Beatles'
>>> f.save()

List all available fields of a media file:

from phrydy import MediaFile

media_file = MediaFile('test/files/full.mp3')

for key in MediaFile.readable_fields():
    value = getattr(media_file, key)
    if key != 'art' and value:
        print('{}: {}'.format(key, value))

A field will always return a reasonable value of the correct type, even if no tag is present. If no value is available, the value will be false (e.g., zero or the empty string).

Internally MediaFile uses MediaField descriptors to access the data from the tags. In turn MediaField uses a number of StorageStyle strategies to handle format specific logic.

Development

Test

tox

Publish a new version

git tag 1.1.1
git push --tags
python setup.py sdist upload

Package documentation

The package documentation is hosted on readthedocs.

Generate the package documentation:

python setup.py build_sphinx

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phrydy-1.2.5.tar.gz (41.8 kB view details)

Uploaded Source

File details

Details for the file phrydy-1.2.5.tar.gz.

File metadata

  • Download URL: phrydy-1.2.5.tar.gz
  • Upload date:
  • Size: 41.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/2.7

File hashes

Hashes for phrydy-1.2.5.tar.gz
Algorithm Hash digest
SHA256 615b3b6f787bb6ab42967f2aaf4bf92be51a66688cd9a9f542ddc293b68aa7d3
MD5 a067940647e6bf794d1c2278fe50ad08
BLAKE2b-256 0e85a994f7369742fcca9c2542da824593e69116733d8645ff43ed05bdacb7d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page