From b303ab4dd5a8aa5c8baea9ca3b5ec0b568539f59 Mon Sep 17 00:00:00 2001 From: freearhey Date: Wed, 27 Jan 2021 18:54:08 +0300 Subject: [PATCH 1/2] Update generate.js --- scripts/generate.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/generate.js b/scripts/generate.js index 517a6c3df1..9c42b54b60 100644 --- a/scripts/generate.js +++ b/scripts/generate.js @@ -18,6 +18,8 @@ function main() { createNoJekyllFile() console.log('Generating index.m3u...') generateIndex() + console.log('Generating index.sfw.m3u...') + generateSFWIndex() console.log('Generating channels.json...') generateChannels() console.log('Generating index.country.m3u...') @@ -118,6 +120,17 @@ function generateIndex() { } } +function generateSFWIndex() { + const filename = `${ROOT_DIR}/index.sfw.m3u` + helper.createFile(filename, '#EXTM3U\n') + + const sorted = helper.sortBy(list.all, ['name', 'url']) + const channels = helper.filterNSFW(sorted) + for (let channel of channels) { + helper.appendToFile(filename, channel.toString()) + } +} + function generateChannels() { const filename = `${ROOT_DIR}/channels.json` const sorted = helper.sortBy(list.all, ['name', 'url']) From 6064cad87fbf7b1c459e155f4f960945bb56bdc7 Mon Sep 17 00:00:00 2001 From: freearhey Date: Wed, 27 Jan 2021 18:54:22 +0300 Subject: [PATCH 2/2] Update helper.js --- scripts/helper.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/scripts/helper.js b/scripts/helper.js index d22332fdf7..fedc1eed92 100644 --- a/scripts/helper.js +++ b/scripts/helper.js @@ -241,6 +241,41 @@ helper.filterGroup = function (groupTitle) { return this.supportedCategories[groupTitle.toLowerCase()] || '' } +helper.filterNSFW = function (arr) { + const sfwCategories = [ + 'Auto', + 'Business', + 'Classic', + 'Comedy', + 'Documentary', + 'Education', + 'Entertainment', + 'Family', + 'Fashion', + 'Food', + 'General', + 'Health', + 'History', + 'Hobby', + 'Kids', + 'Legislative', + 'Lifestyle', + 'Local', + 'Movies', + 'Music', + 'News', + 'Quiz', + 'Religious', + 'Sci-Fi', + 'Shop', + 'Sport', + 'Travel', + 'Weather' + ] + + return arr.filter(i => sfwCategories.includes(i.category)) +} + helper.sleep = function (ms) { return function (x) { return new Promise(resolve => setTimeout(() => resolve(x), ms))