严格目录结构

约定目录结构结构较为松散,对分发而言较为方便。但这也给 Annil 的有效利用,以及整理完成后的同步带来了一定难度。由此,Anni 提出了一种较为严格,便于结构化处理的目录格式。

描述

专辑单元

每张专辑均以 album_id 命名,并且在专辑目录中须存在 cover.jpg 表示该专辑的封面。

专辑中的各张碟片均以 disc_id 命名目录,且不允许携带前缀 0。碟片目录中须存在 cover.jpg 表示该碟片的封面。

碟片中的各音轨以 {track_id}.{ext} 命名,ext 表示音频的扩展名。track_id 同样不允许携带前缀 0

Hash 分散

为了减少单一目录下子目录的数量,严格目录结构允许在 album_id 的基础上通过多级子目录对目录进行分散。子目录嵌套层数由参数 layer 控制,取值区间为 0-4,默认为 2

每一级目录名均取 album_id 字符串的两位(一个字节),且不携带前缀 0

以默认情况下的 5a0c666f-fe66-4c01-8cde-a3b45118f25f 为例,其第一级目录名为 5a,第二级为 c

目录结构示例

.
├── 5a
│   └── c
│       └── 5a0c666f-fe66-4c01-8cde-a3b45118f25f
│           ├── 1
│           │   ├── 1.flac
│           │   ├── 2.flac
│           │   ├── 3.flac
│           │   └── cover.jpg
│           └── cover.jpg
└── 67
    └── 53
        └── 675377ef-62e0-4192-a465-c1d025871ec0
            ├── 1
            │   ├── 1.flac
            │   ├── 2.flac
            │   ├── 3.flac
            │   └── cover.jpg
            └── cover.jpg