84 lines
2.1 KiB
TypeScript
Raw Permalink Normal View History

2023-04-09 21:50:37 +08:00
const path = require("path")
2023-02-16 21:08:03 +08:00
const videoSet = new Set(["flv", 'avi', 'wmv', 'dat', 'vob', 'mpg', 'mpeg', 'mp4', '3gp', '3g2', 'mkv', 'rm', 'rmvb', 'mov', 'qt', 'ogg', 'ogv', 'oga', 'mod']);
2023-03-07 20:57:05 +08:00
2023-02-16 21:08:03 +08:00
/**
*
* @param str
*/
export function isVideo(str: string) {
2023-03-07 20:57:05 +08:00
if (!str) {
return false;
}
return videoSet.has(str.toLowerCase());
2023-02-16 21:08:03 +08:00
}
const subSet = new Set(['sub', 'sst', 'son', 'srt', 'ssa', 'ass', 'smi', 'psb', 'pjs', 'stl', 'tts', 'vsf', 'zeg']);
2023-03-07 20:57:05 +08:00
2023-02-16 21:08:03 +08:00
/**
*
* @param str
*/
export function isSub(str: string) {
2023-03-07 20:57:05 +08:00
if (!str) {
return false;
}
return subSet.has(str.toLowerCase());
}
/**
*
* @param str
*/
export function isNfo(str: string) {
if (!str) {
return false;
}
return "nfo" == str;
2023-04-09 21:50:37 +08:00
}
let pattern1 = new RegExp(/s(eason)?\.?(\d+)/);
let pattern2 = new RegExp(/(\d+)/);
2023-04-13 19:55:02 +08:00
let pattern3 = new RegExp(/([一二三四五六七八九十]+)/);
let chineseNumMap = {
"一": "1",
"二": "2",
"三": "3",
"四": "4",
"五": "5",
"六": "6",
"七": "7",
"八": "8",
"九": "9",
"十": "1"
}
2023-04-09 21:50:37 +08:00
/**
*
2023-04-13 19:55:02 +08:00
* @param name
2023-04-09 21:50:37 +08:00
*/
2023-04-13 19:55:02 +08:00
export function getSeason(name: string): string {
2023-04-09 21:50:37 +08:00
name = name.replace(/[ ]+/, "").toLocaleLowerCase();
let patternRes = name.match(pattern1);
if (patternRes && patternRes[2]) {
return patternRes[2];
}
patternRes = name.match(pattern2);
if (patternRes && patternRes[1]) {
return patternRes[1];
}
2023-04-13 19:55:02 +08:00
//中文支持
patternRes = name.match(pattern3);
if (patternRes && patternRes[1]) {
let str = patternRes[1];
let strs = str.split("");
if (strs.length == 1) {
return str == '十' ? "10" : chineseNumMap[str];
} else if (strs.length == 2) {
return strs[0] == '十' ? ("1" + chineseNumMap[strs[1]]) : chineseNumMap[strs[0]] + "0";
} else if (strs.length == 3) {
return chineseNumMap[strs[0]] + chineseNumMap[strs[2]];
}
}
2023-04-09 21:50:37 +08:00
return "";
2023-02-16 21:08:03 +08:00
}