Update scripts

This commit is contained in:
freearhey 2025-05-01 00:51:41 +03:00
parent 5e5b87404c
commit bfb0d5872d
7 changed files with 39 additions and 47 deletions

View file

@ -32,7 +32,7 @@ async function main() {
const files = await streamsStorage.list('**/*.m3u')
const streams = await parser.parse(files)
logger.info('removing broken streams...')
logger.info('removing streams...')
await removeStreams({ streams, issues })
logger.info('edit stream description...')
@ -73,12 +73,12 @@ async function removeStreams({ streams, issues }: { streams: Collection; issues:
)
requests.forEach((issue: Issue) => {
const data = issue.data
if (data.missing('brokenLinks')) return
if (data.missing('streamUrl')) return
const brokenLinks = data.getString('brokenLinks') || ''
const streamUrls = data.getString('streamUrl') || ''
let changed = false
brokenLinks
streamUrls
.split(/\r?\n/)
.filter(Boolean)
.forEach(link => {
@ -131,15 +131,7 @@ async function editStreams({
.updateFilepath()
}
const label = data.getString('label') || ''
const quality = data.getString('quality') || ''
const httpUserAgent = data.getString('httpUserAgent') || ''
const httpReferrer = data.getString('httpReferrer') || ''
if (data.has('label')) stream.setLabel(label)
if (data.has('quality')) stream.setQuality(quality)
if (data.has('httpUserAgent')) stream.setUserAgent(httpUserAgent)
if (data.has('httpReferrer')) stream.setReferrer(httpReferrer)
stream.update(data)
processedIssues.add(issue.number)
})

View file

@ -37,17 +37,17 @@ async function main() {
const streamsGroupedByChannelId = streams.groupBy((stream: Stream) => stream.channelId)
const streamsGroupedById = streams.groupBy((stream: Stream) => stream.getId())
logger.info('checking broken streams reports...')
const brokenStreamReports = issues.filter(issue =>
issue.labels.find((label: string) => label === 'broken stream')
logger.info('checking streams:remove requests...')
const removeRequests = issues.filter(issue =>
issue.labels.find((label: string) => label === 'streams:remove')
)
brokenStreamReports.forEach((issue: Issue) => {
const brokenLinks = issue.data.getArray('brokenLinks') || []
removeRequests.forEach((issue: Issue) => {
const streamUrls = issue.data.getArray('streamUrl') || []
if (!brokenLinks.length) {
if (!streamUrls.length) {
const result = {
issueNumber: issue.number,
type: 'broken stream',
type: 'streams:remove',
streamId: undefined,
streamUrl: undefined,
status: 'missing_link'
@ -55,10 +55,10 @@ async function main() {
report.add(result)
} else {
for (const streamUrl of brokenLinks) {
for (const streamUrl of streamUrls) {
const result = {
issueNumber: issue.number,
type: 'broken stream',
type: 'streams:remove',
streamId: undefined,
streamUrl: truncate(streamUrl),
status: 'pending'