touhou-tagger
Version:
从 THBWiki 自动填写东方 Project CD 曲目信息.
43 lines (42 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultAlbumName = void 0;
const path_1 = require("path");
const album_options_1 = require("./album-options");
const debug_1 = require("../core/debug");
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],
},
];
const getDefaultAlbumName = async (workingDir = process.cwd()) => {
const albumOptions = await (0, album_options_1.getAlbumOptions)(workingDir);
if (albumOptions.defaultAlbumHint) {
(0, debug_1.log)('defaultAlbumHint:', albumOptions.defaultAlbumHint);
return albumOptions.defaultAlbumHint;
}
const currentFolder = (0, path_1.basename)((0, path_1.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;
};
exports.getDefaultAlbumName = getDefaultAlbumName;