Skip to main content

A plugin for beets that copies additional files and directories during the import process.

Project description

beets-extrafiles Build Status

A plugin for beets that copies additional files and directories during the import process.

Installation

Important: Even though beets supports Python 2 and Windows, this plugin does not - it only supports Python 3 on a Unix-like OS. See the F.A.Q. section for details.

This plugin has no dependencies apart from setuptools and beets itself.

Since this plugin is currently not released on PyPI, you need to clone and install the plugin manually:

$ git clone https://github.com/Holzhaus/beets-extrafiles.git
$ cd beets-extrafiles
$ ./setup.py install --user

Usage

Activate the plugin by adding it to the plugins list in beet's config.yaml:

plugins:
  # [...]
  - extrafiles

Also, you need to add glob patterns that will be matched. The snippet below will add a pattern group named all that matches all files that have an extension.

extrafiles:
    patterns:
        all: '*.*'

Pattern names are useful when you want to customize the destination path that the files will be copied or moved to. The following configuration will match all folders named scans, Scans, artwork or Artwork (using the pattern group artworkdir), copy them to the album path and rename them to artwork:

extrafiles:
    patterns:
        artworkdir:
          - '[sS]cans/'
          - '[aA]rtwork/'
    paths:
        artworkdir: $albumpath/artwork

Development

After cloning the git repository, you can use setup.py to set up the necessary symlinks for you:

$ git clone https://github.com/Holzhaus/beets-extrafiles.git
$ cd beets-extrafiles
$ ./setup.py develop --user

When adding changes, please conform to PEP 8. Also, please add docstrings to all modules, functions and methods that you create. Use can check this by running flake8 with the flake8-docstrings plugin.

Using pre-commit will perform these checks automatically when committing changes. You can install the pre-commit hooks by executing this in the git repository's root directory:

$ pre-commit install

You should also test every single commit by running unittests, i.e.:

$ ./setup.py test

If a test fails, please fix it before you create a pull request. If you accidently commit something that still contains errors, please amend, squash or fixup that commit instead of adding a new one.

F.A.Q.

Why not use the copyartifacts plugin?

The copyartifacts plugin by Samit Barakat serves the same purpose.

However, it curently seems to be unmaintained: The last commit has been made over a year ago and also suffers from a bug that makes it crash on every run. I wrote a patch and filed a Pull Request some time ago, but I has not been merged yet.

Also, wanted to go in a different direction by supporting folders and the ability to do finer-grained path customizations. Hence, I wrote beets-extrafiles.

Why does this plugin not support Python 2 and Windows?

I initally wrote this plugin, because I needed it. Since I use neither Python 2 nor Windows, I didn't implement support.

If you really need support, feel free to write a patch and file a Pull Request. As long as it does not make the code considerably harder to read, I'll merge it.

For Windows support, some kind of Continuous Integration (CI) solution would also be necessary to prevent future breakage.

What license is used for this project?

This project is released under the terms of the MIT license.

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

beets-extrafiles-0.0.1.tar.gz (5.3 kB view details)

Uploaded Source

Built Distributions

beets_extrafiles-0.0.1-py3.7.egg (9.2 kB view details)

Uploaded Source

beets_extrafiles-0.0.1-py3.6.egg (9.1 kB view details)

Uploaded Source

beets_extrafiles-0.0.1-py3.5.egg (9.3 kB view details)

Uploaded Source

beets_extrafiles-0.0.1-py3.4.egg (9.3 kB view details)

Uploaded Source

beets_extrafiles-0.0.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file beets-extrafiles-0.0.1.tar.gz.

File metadata

  • Download URL: beets-extrafiles-0.0.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.7

File hashes

Hashes for beets-extrafiles-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5982d342e43abb74d1e1c6155735911058f233bfab764ab9159c3b0a6e139ece
MD5 0f91802ff9f8a7f4d928b426823fda00
BLAKE2b-256 c682cec6189ff672033cd5153eceffe4f29292a4ee1f0a0d8e39a13a36ef6eda

See more details on using hashes here.

File details

Details for the file beets_extrafiles-0.0.1-py3.7.egg.

File metadata

  • Download URL: beets_extrafiles-0.0.1-py3.7.egg
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.1

File hashes

Hashes for beets_extrafiles-0.0.1-py3.7.egg
Algorithm Hash digest
SHA256 9820ab13e51fa79be0c2453b91a46d34ad60928e743372d918236ae8c2ae3f25
MD5 4c24771385a487d8721da9fb9cb37d27
BLAKE2b-256 94a18754302d9f1efdb5b667e995d1286a2f33b4922f6a4c2ce5d9cee144123d

See more details on using hashes here.

File details

Details for the file beets_extrafiles-0.0.1-py3.6.egg.

File metadata

  • Download URL: beets_extrafiles-0.0.1-py3.6.egg
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.7

File hashes

Hashes for beets_extrafiles-0.0.1-py3.6.egg
Algorithm Hash digest
SHA256 a61ecd238d93085f10d9817ef1ab4784e21d95c983a052c38c8da631c7b88760
MD5 5cf694f6709b906fb3796828740f0f2d
BLAKE2b-256 5898862b35fad3d69d54144badb49aec555893cdc88108fa1315fa4a6775a66a

See more details on using hashes here.

File details

Details for the file beets_extrafiles-0.0.1-py3.5.egg.

File metadata

  • Download URL: beets_extrafiles-0.0.1-py3.5.egg
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.5.6

File hashes

Hashes for beets_extrafiles-0.0.1-py3.5.egg
Algorithm Hash digest
SHA256 c66fc18992b1208f4dd62580519fc704365091a3617aad37553b4e1ece226cbd
MD5 803ee2f2478c5e969679dbfbdeb56c11
BLAKE2b-256 d4a946deb34f2752fa65e73437f256481a1ca78bdaa9a4149c181a5ec7ba19cc

See more details on using hashes here.

File details

Details for the file beets_extrafiles-0.0.1-py3.4.egg.

File metadata

  • Download URL: beets_extrafiles-0.0.1-py3.4.egg
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.4.8

File hashes

Hashes for beets_extrafiles-0.0.1-py3.4.egg
Algorithm Hash digest
SHA256 68419987528fc21661a7a616ce800cddb822a6362a71bab29c6ba8955bf1c556
MD5 37b003e0ba722f09b5d4be53befd0309
BLAKE2b-256 812c31eb0bd72b535ae4da5c6d65d5b3e9bc3e7ad487ab217b4bb10aebb1ecf8

See more details on using hashes here.

File details

Details for the file beets_extrafiles-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: beets_extrafiles-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.7

File hashes

Hashes for beets_extrafiles-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5e89016248ca2a037ee0f25b75e022176ebadba84d47a3cc0e4dbd0398d45958
MD5 d3cc0d188f9214c02548dd031a788e57
BLAKE2b-256 fa2fa3b5a8f7d949f7f3b1cf3a7a93ce61c2486c60219ae0b2a7b0daf4c51dc8

See more details on using hashes here.

Supported by

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