UNPKG

touhou-tagger

Version:

从 THBWiki 自动填写东方 Project CD 曲目信息.

39 lines (38 loc) 1.14 kB
import { basename, resolve } from 'path'; import { log } from '../core/debug.js'; import { getAlbumOptions } from './album-options.js'; const specialFormats = [ { name: 'TlmcWithDiscId', regex: /\[.+?\]$/, resolve: match => match[1], }, { name: 'Tlmc', regex: /^[\d]{4}\.[\d]{2}\.[\d]{2} (.+?) \[.+?\]$/, resolve: match => match[1], }, { name: 'Default', regex: /.+/, resolve: match => match[0], }, ]; export const getDefaultAlbumName = async (workingDir = process.cwd()) => { const albumOptions = await getAlbumOptions(workingDir); if (albumOptions.defaultAlbumHint) { log('defaultAlbumHint:', albumOptions.defaultAlbumHint); return albumOptions.defaultAlbumHint; } const currentFolder = basename(resolve(workingDir)); const [formatMatch] = specialFormats .map(f => { const match = currentFolder.match(f.regex); if (match) { return f.resolve(match); } return null; }) .filter((it) => it !== null); return formatMatch || currentFolder; };