about summary refs log tree commit diff stats
path: root/modules/home/conf/beets/plugins/inline/default.nix
blob: 0dda8cfc0cbb6a8402ec3c20a81e766e11ecd56e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{...}: {
  programs.beets.settings = {
    item_fields = {
      # Taken from https://github.com/trapd00r/configs/blob/4f3dada5700846cca6c2869e6fa6b3c795b87b67/beets/config.yaml
      first_artist =
        /*
        python
        */
        ''
          # import an album to another artists directory, like:
          # Tom Jones │1999│ Burning Down the House [Single, CD, FLAC]
          # to The Cardigans/+singles/Tom Jones & the Cardigans │1999│ Burning Down the House [Single, CD, FLAC]
          # https://github.com/beetbox/beets/discussions/4012#discussioncomment-1021414
          # beet import --set myartist='The Cardigans'
          # we must first check to see if myartist is defined, that is, given on
          # import time, or we raise an NameError exception.
          try:
            myartist
          except NameError:
            import re
            return re.split(',|\\s+(feat(.?|uring)|&|(Vs|Ft).)', albumartist, 1, flags=re.IGNORECASE)[0]
          else:
            return myartist
        '';

      first_artist_singleton =
        /*
        python
        */
        ''
          try:
            myartist
          except NameError:
            import re
            return re.split(',|\\s+(feat(.?|uring)|&|(Vs|Ft).)', artist, 1, flags=re.IGNORECASE)[0]
          else:
            return myartist
        '';
    };
    album_fields = {};
  };
}