Create cid.js

This commit is contained in:
Aleksandr Statciuk 2022-02-05 02:47:16 +03:00
parent a367e92bcf
commit 32b86ce842
1 changed files with 41 additions and 0 deletions

41
scripts/core/cid.js Normal file
View File

@ -0,0 +1,41 @@
const file = require('./file')
const transliteration = require('transliteration')
const cid = {}
cid.generate = function (title, filepath) {
const name = parseChannelName(title)
const code = parseCountryCode(filepath)
if (name && code) {
const slug = transliteration
.transliterate(name)
.replace(/\+/gi, 'Plus')
.replace(/[^a-z\d]+/gi, '')
return `${slug}.${code.toLowerCase()}`
}
return null
}
module.exports = cid
function parseCountryCode(filepath) {
if (!filepath) return null
const basename = file.basename(filepath)
const [code] = basename.split('_') || [null]
return code
}
function parseChannelName(title) {
return title
.trim()
.split(' ')
.map(s => s.trim())
.filter(s => {
return !/\[|\]/i.test(s) && !/\((\d+)P\)/i.test(s)
})
.join(' ')
}