touhou-tagger
Version:
从 THBWiki 自动填写东方 Project CD 曲目信息.
35 lines (34 loc) • 1.21 kB
JavaScript
import { readline } from '../core/readline.js';
import { getDefaultAlbumName } from './default-album-name.js';
import { getCliOptions } from './options.js';
export const runTagger = async () => {
let spinner;
const cliOptions = getCliOptions();
const start = async (album) => {
const { default: ora } = await import('ora');
if (!spinner) {
spinner = ora({
text: '搜索中',
spinner: {
interval: 500,
frames: ['. ', '.. ', '...'],
},
}).start();
}
const { CliTagger } = await import('./tagger.js');
const tagger = new CliTagger(spinner);
await tagger.run(album);
};
const defaultAlbumName = await getDefaultAlbumName();
if (cliOptions.batch) {
const { runBatchTagger } = await import('./batch.js');
await runBatchTagger(cliOptions.batch, cliOptions.batchDepth);
}
else if (!cliOptions.interactive) {
await start(defaultAlbumName);
}
else {
const album = await readline(`请输入专辑名称(${defaultAlbumName}): `);
await start(album || defaultAlbumName);
}
};