diff --git a/scripts/commands/readme/update.js b/scripts/commands/readme/update.js
index b327325a..3b049bc5 100644
--- a/scripts/commands/readme/update.js
+++ b/scripts/commands/readme/update.js
@@ -14,31 +14,28 @@ async function main() {
const logPath = `${LOGS_DIR}/guides/update.log`
let log = await parser.parseLogs(logPath)
- await createCountriesTable(log)
- await createSourcesTable(log)
+ await createTable(log)
await updateReadme()
}
main()
-async function createSourcesTable(log) {
- let files = log
- .filter(c => c.groupedBy === 'site+lang')
- .reduce((acc, curr) => {
- if (!acc[curr.filename]) {
- acc[curr.filename] = {
- site: curr.site,
- lang: curr.lang,
- channels: 0,
- filename: curr.filename
- }
+async function createTable(log) {
+ let files = _.uniqBy(log, i => i.site + i.channel).reduce((acc, curr) => {
+ if (!acc[curr.filename]) {
+ acc[curr.filename] = {
+ site: curr.site,
+ lang: curr.lang,
+ channels: 0,
+ filename: curr.filename
}
+ }
- acc[curr.filename].channels++
+ acc[curr.filename].channels++
- return acc
- }, {})
+ return acc
+ }, {})
let data = []
for (const filename in files) {
@@ -48,7 +45,8 @@ async function createSourcesTable(log) {
item.site,
item.lang,
item.channels,
- `https://iptv-org.github.io/epg/guides/${filename}.xml
`
+ `https://iptv-org.github.io/epg/guides/${filename}.xml
`,
+ `
`
])
}
@@ -63,58 +61,9 @@ async function createSourcesTable(log) {
})
data = Object.values(_.groupBy(data, item => item[0]))
- const output = table.create(data, ['Site', 'Channels', 'EPG'])
+ const output = table.create(data, ['Site', 'Channels', 'EPG', 'Status'])
- await file.create('./.readme/_sources.md', output)
-}
-
-async function createCountriesTable(log) {
- let files = log
- .filter(c => c.groupedBy === 'country')
- .reduce((acc, curr) => {
- if (!acc[curr.filename]) {
- acc[curr.filename] = {
- country: curr.country,
- lang: curr.lang,
- channels: 0,
- filename: curr.filename
- }
- }
-
- acc[curr.filename].channels++
-
- return acc
- }, {})
-
- let data = []
- for (const filename in files) {
- const item = files[filename]
- const country = api.countries.find({ code: item.country })
- if (!country) continue
-
- data.push([
- country.name,
- item.lang,
- `${country.flag} ${country.name}`,
- item.channels,
- `https://iptv-org.github.io/epg/guides/${filename}.xml
`
- ])
- }
-
- data = _.orderBy(
- data,
- [item => item[0], item => (item[1] === 'en' ? Infinity : item[3])],
- ['asc', 'desc']
- )
- data = data.map(i => {
- i.splice(0, 2)
- return i
- })
- data = Object.values(_.groupBy(data, item => item[0]))
-
- const output = table.create(data, ['Country', 'Channels', 'EPG'])
-
- await file.create('./.readme/_countries.md', output)
+ await file.create('./.readme/_sites.md', output)
}
async function updateReadme() {