Subliminal uses dogpile.cache to save state of subtitle availability.
Some methods that dogpile.cache caches can have big argument lists,
resulting in a default cache key that is longer than 255 characters.
The dogpile.cache backend used, saves cache items to the filesystem,
using the cache key as filename. This can result in errors about
Filename too long.
SHA1 generates a 160bit hash of the key, and we use the hexadecimal
digest of that hash, resulting in key names of 80 characters.
* Use dogpile.cache sha1_mangle_key to mangle cache keys
When using the subtitle hashes as cache keys, sometimes they come
out as filenames of 270 characters.
Not a lot of filesystems out there support filenames with over 250
characters.
This behaviour was reported with ext4 and zfs on both linux and FreeBSD.
The dogpile.cache utils come with a function that returns a hex digest
of the key, limiting the filename to a fixed length of 40 characters.
* Set region to subliminal.region and only then configure it, instead of assigning the result of configure to the property
* Make sure subliminal ALWAYS mangles keys with the sha1 to prevent filenames that are too long
When using the subtitle hashes as cache keys, sometimes they come
out as filenames of 270 characters.
Not a lot of filesystems out there support filenames with over 250
characters.
This behaviour was reported with ext4 and zfs on both linux and FreeBSD.
The dogpile.cache utils come with a function that returns a hex digest
of the key, limiting the filename to a fixed length of 40 characters.