geigerzaehler / beets-alternatives

Beets plugin to manage external files
MIT License
93 stars 21 forks source link

OSError: [Errno 38] Function not implemented #30

Closed dosoe closed 5 years ago

dosoe commented 5 years ago

Hi! I just discovered this plugin and tried it out. I installed it with pip and have the 0.9 version installed, along with beets 1.50.

On my first try I got this error:

soergeld@soergeld-Latitude-7480:~$ beet -vv alt update by-work
user configuration: /home/soergeld/.config/beets/config.yaml
data directory: /home/soergeld/.config/beets
plugin paths: 
Sending event: pluginload
library database: /media/soergeld/EEC7-74A2/Musique/beets/Musicdata_sync.db
library directory: /media/soergeld/EEC7-74A2/Musique/beets
Sending event: library_opened
+/media/soergeld/EEC7-74A2/Musique/beets_by-work/ZZZ_Non-classical/Harvard University Choir, Jones, Edward Elwyn/99th Annual Christmas Carol Services/01-16 Hymn_ Hark! The Herald Angels Sing.m4a
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/beets/util/__init__.py", line 503, in link
    os.symlink(syspath(path), syspath(dest))
OSError: [Errno 38] Function not implemented

Error: Function not implemented during link of paths /media/soergeld/EEC7-74A2/Musique/beets/Harvard University Choir, Jones, Edward Elwyn/99th Annual Christmas Carol Services/01-16 Hymn_ Hark! The Herald Angels Sing.m4a, /media/soergeld/EEC7-74A2/Musique/beets_by-work/ZZZ_Non-classical/Harvard University Choir, Jones, Edward Elwyn/99th Annual Christmas Carol Services/01-16 Hymn_ Hark! The Herald Angels Sing.m4a

Configuration:

alternatives:
    by-work:
        directory: ../beets_by-work
        paths:
            albumartist_sort::'Wise Guys': %asciify{ZZZ_Non-classical/$albumartist_sort/$album %ifdef{albumdisambig,($albumdisambig),}/$disc-$track $title}
            album:'Lambarena': %asciify{ZZZ_Non-classical/$album %ifdef{albumdisambig,($albumdisambig),}/$disc-$track $title}
            album:'Gladrags': %asciify{ZZZ_Non-classical/$albumartist_sort/$album %ifdef{albumdisambig,($albumdisambig),}/$disc-$track $title}
            album:'Piano Rags': %asciify{ZZZ_Non-classical/$albumartist_sort/$album %ifdef{albumdisambig,($albumdisambig),}/$disc-$track $title}
            ...
        formats: link

Do you have an idea what's going wrong?

geigerzaehler commented 5 years ago

Hi @dosoe. It looks like the filesystem you use does not support symbolic links. Using link as the format the plugin tries to create symbolic links for the collection. But this fails at the operating system layer because the filesystem (which looks like FAT32 to me) does not support creating links.

I see two possible solutions for this. First, you can switch to a file system that supports symbolic links. Almost all modern file systems do. If sharing the collection with a Windows machine is a requirement you should consider NTFS which is also supported on linux.

The second solution would be to not use the link format and copy the files instead. However, this is slow and consumes a lot of disk space.

Since this is not an issue with the plugin itself I’m going to close this issue. But feel free to respond and ask questions in this thread.