From e68df665c24d1c99ac7c717834a9ec2c4c0503ad Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 18:15:19 +0300 Subject: [PATCH 01/17] Delete .github/workflows --- .github/workflows/9tv.co.il.yml | 17 ---- .github/workflows/_check.yml | 34 ------- .github/workflows/_load.yml | 31 ------- .github/workflows/_test.yml | 12 --- .github/workflows/_trigger.yml | 8 -- .github/workflows/_update.yml | 91 ------------------- .github/workflows/abc.net.au.yml | 17 ---- .github/workflows/allente.se.yml | 17 ---- .github/workflows/andorradifusio.ad.yml | 17 ---- .github/workflows/arianaafgtv.com.yml | 17 ---- .github/workflows/arianatelevision.com.yml | 17 ---- .github/workflows/artonline.tv.yml | 17 ---- .github/workflows/astro.com.my.yml | 17 ---- .github/workflows/bein.com.yml | 17 ---- .github/workflows/beinsports.com.yml | 17 ---- .github/workflows/berrymedia.co.kr.yml | 17 ---- .github/workflows/bt.com.yml | 17 ---- .github/workflows/cablego.com.pe.yml | 17 ---- .github/workflows/cableplus.com.uy.yml | 17 ---- .github/workflows/canalplus-afrique.com.yml | 17 ---- .github/workflows/canalplus-caraibes.com.yml | 17 ---- .github/workflows/canalplus-haiti.com.yml | 17 ---- .github/workflows/canalplus-reunion.com.yml | 17 ---- .github/workflows/canalplus.com.yml | 17 ---- .github/workflows/cgates.lt.yml | 17 ---- .github/workflows/chaines-tv.orange.fr.yml | 17 ---- .github/workflows/clickthecity.com.yml | 17 ---- .github/workflows/compulms.com.yml | 17 ---- .github/workflows/comteco.com.bo.yml | 17 ---- .github/workflows/cosmote.gr.yml | 17 ---- .github/workflows/delta.nl.yml | 17 ---- .github/workflows/digiturk.com.tr.yml | 17 ---- .github/workflows/directv.com.ar.yml | 17 ---- .github/workflows/directv.com.uy.yml | 17 ---- .github/workflows/directv.com.yml | 17 ---- .github/workflows/dishtv.in.yml | 17 ---- .github/workflows/dsmart.com.tr.yml | 17 ---- .github/workflows/dstv.com.yml | 17 ---- .github/workflows/elcinema.com.yml | 17 ---- .github/workflows/ena.skylifetv.co.kr.yml | 17 ---- .github/workflows/epg.i-cable.com.yml | 17 ---- .github/workflows/flixed.io.yml | 17 ---- .github/workflows/foxsports.com.au.yml | 17 ---- .github/workflows/foxtel.com.au.yml | 17 ---- .github/workflows/frikanalen.no.yml | 17 ---- .github/workflows/gatotv.com.yml | 17 ---- .github/workflows/getafteritmedia.com.yml | 17 ---- .github/workflows/guidatv.sky.it.yml | 17 ---- .github/workflows/guide.dstv.com.yml | 17 ---- .github/workflows/hd-plus.de.yml | 17 ---- .github/workflows/horizon.tv.yml | 17 ---- .github/workflows/i.mjh.nz.yml | 17 ---- .github/workflows/i24news.tv.yml | 17 ---- .github/workflows/indihometv.com.yml | 17 ---- .github/workflows/ionplustv.com.yml | 17 ---- .github/workflows/ipko.com.yml | 17 ---- .github/workflows/kan.org.il.yml | 17 ---- .github/workflows/knr.gl.yml | 17 ---- .github/workflows/kplus.vn.yml | 17 ---- .github/workflows/kvf.fo.yml | 17 ---- .github/workflows/m.tv.sms.cz.yml | 17 ---- .github/workflows/magentatv.at.yml | 17 ---- .github/workflows/magentatv.de.yml | 17 ---- .github/workflows/magticom.ge.yml | 17 ---- .github/workflows/mako.co.il.yml | 17 ---- .../workflows/maxtv.hrvatskitelekom.hr.yml | 17 ---- .github/workflows/maxtvgo.mk.yml | 17 ---- .github/workflows/mbc.net.yml | 17 ---- .github/workflows/mediagenie.co.kr.yml | 17 ---- .github/workflows/mediaklikk.hu.yml | 17 ---- .github/workflows/mediaset.it.yml | 17 ---- .github/workflows/melita.com.yml | 17 ---- .github/workflows/meo.pt.yml | 17 ---- .github/workflows/mewatch.sg.yml | 17 ---- .github/workflows/mi.tv.yml | 17 ---- .github/workflows/mncvision.id.yml | 17 ---- .github/workflows/mon-programme-tv.be.yml | 17 ---- .github/workflows/movistarplus.es.yml | 17 ---- .github/workflows/mtel.ba.yml | 17 ---- .github/workflows/mts.rs.yml | 17 ---- .github/workflows/mujtvprogram.cz.yml | 17 ---- .github/workflows/musor.tv.yml | 17 ---- .github/workflows/myafn.dodmedia.osd.mil.yml | 17 ---- .github/workflows/mysky.com.ph.yml | 17 ---- .github/workflows/mytvsuper.com.yml | 17 ---- .github/workflows/nos.pt.yml | 17 ---- .github/workflows/novacyprus.com.yml | 17 ---- .github/workflows/novasports.gr.yml | 17 ---- .github/workflows/nowplayer.now.com.yml | 17 ---- .github/workflows/nuevosiglo.com.uy.yml | 17 ---- .github/workflows/ontvtonight.com.yml | 17 ---- .github/workflows/osn.com.yml | 17 ---- .github/workflows/pbsguam.org.yml | 17 ---- .github/workflows/plex.tv.yml | 17 ---- .../workflows/programacion-tv.elpais.com.yml | 17 ---- .github/workflows/programacion.tcc.com.uy.yml | 17 ---- .github/workflows/programetv.ro.yml | 17 ---- .github/workflows/programme-tv.net.yml | 17 ---- .github/workflows/programme-tv.vini.pf.yml | 17 ---- .github/workflows/programme.tvb.com.yml | 17 ---- .github/workflows/programtv.onet.pl.yml | 17 ---- .github/workflows/proximusmwc.be.yml | 17 ---- .github/workflows/raiplay.it.yml | 17 ---- .github/workflows/reportv.com.ar.yml | 17 ---- .github/workflows/rev.bs.yml | 17 ---- .github/workflows/rotana.net.yml | 17 ---- .github/workflows/rtb.gov.bn.yml | 17 ---- .github/workflows/rthk.hk.yml | 17 ---- .github/workflows/rtmklik.rtm.gov.my.yml | 17 ---- .github/workflows/rtp.pt.yml | 17 ---- .github/workflows/ruv.is.yml | 17 ---- .github/workflows/seezntv.com.yml | 17 ---- .github/workflows/siba.com.co.yml | 17 ---- .github/workflows/singtel.com.yml | 17 ---- .github/workflows/sjonvarp.is.yml | 17 ---- .github/workflows/sky.co.nz.yml | 17 ---- .github/workflows/sky.com.yml | 17 ---- .github/workflows/sky.de.yml | 17 ---- .github/workflows/sportsnet.ca.yml | 17 ---- .github/workflows/starhubtvplus.com.yml | 17 ---- .github/workflows/startimestv.com.yml | 17 ---- .github/workflows/startv.com.yml | 17 ---- .github/workflows/superguidatv.it.yml | 17 ---- .github/workflows/tapdmv.com.yml | 17 ---- .github/workflows/telecablesat.fr.yml | 17 ---- .github/workflows/telenet.tv.yml | 17 ---- .github/workflows/teliatv.ee.yml | 17 ---- .github/workflows/telkku.com.yml | 17 ---- .github/workflows/telkussa.fi.yml | 17 ---- .github/workflows/telsu.fi.yml | 17 ---- .github/workflows/tivu.tv.yml | 17 ---- .github/workflows/toonamiaftermath.com.yml | 17 ---- .github/workflows/transvision.co.id.yml | 17 ---- .github/workflows/turksatkablo.com.tr.yml | 17 ---- .github/workflows/tv.blue.ch.yml | 17 ---- .github/workflows/tv.cctv.com.yml | 17 ---- .github/workflows/tv.dir.bg.yml | 17 ---- .github/workflows/tv.lv.yml | 17 ---- .github/workflows/tv.mail.ru.yml | 17 ---- .github/workflows/tv.movistar.com.pe.yml | 17 ---- .github/workflows/tv.nu.yml | 17 ---- .github/workflows/tv.post.lu.yml | 17 ---- .github/workflows/tv.trueid.net.yml | 17 ---- .github/workflows/tv.yandex.ru.yml | 17 ---- .github/workflows/tv.yettel.hu.yml | 17 ---- .github/workflows/tv24.co.uk.yml | 17 ---- .github/workflows/tv24.se.yml | 17 ---- .github/workflows/tv2go.t-2.net.yml | 17 ---- .github/workflows/tva.tv.yml | 17 ---- .github/workflows/tvarenasport.com.yml | 17 ---- .github/workflows/tvarenasport.hr.yml | 17 ---- .github/workflows/tvcubana.icrt.cu.yml | 17 ---- .github/workflows/tvgid.ua.yml | 17 ---- .github/workflows/tvgids.nl.yml | 17 ---- .github/workflows/tvguide.com.yml | 17 ---- .github/workflows/tvguide.myjcom.jp.yml | 17 ---- .github/workflows/tvhebdo.com.yml | 17 ---- .github/workflows/tvheute.at.yml | 17 ---- .github/workflows/tvim.tv.yml | 17 ---- .github/workflows/tving.com.yml | 17 ---- .github/workflows/tvmi.mt.yml | 17 ---- .github/workflows/tvmusor.hu.yml | 17 ---- .github/workflows/tvpassport.com.yml | 17 ---- .github/workflows/tvplus.com.tr.yml | 17 ---- .github/workflows/tvprofil.com.yml | 17 ---- .github/workflows/tvtv.us.yml | 17 ---- .github/workflows/unifi.com.my.yml | 17 ---- .github/workflows/vidio.com.yml | 17 ---- .github/workflows/virginmedia.com.yml | 17 ---- .../workflows/virginmediatelevision.ie.yml | 17 ---- .github/workflows/vivacom.bg.yml | 17 ---- .github/workflows/vtm.be.yml | 17 ---- .github/workflows/walesi.com.fj.yml | 17 ---- .github/workflows/watchyour.tv.yml | 17 ---- .github/workflows/wavve.com.yml | 17 ---- .github/workflows/worldfishingnetwork.com.yml | 17 ---- .github/workflows/xumo.tv.yml | 17 ---- .github/workflows/zap.co.ao.yml | 17 ---- .github/workflows/ziggogo.tv.yml | 17 ---- .github/workflows/znbc.co.zm.yml | 17 ---- .github/workflows/zuragt.mn.yml | 17 ---- 181 files changed, 3168 deletions(-) delete mode 100644 .github/workflows/9tv.co.il.yml delete mode 100644 .github/workflows/_check.yml delete mode 100644 .github/workflows/_load.yml delete mode 100644 .github/workflows/_test.yml delete mode 100644 .github/workflows/_trigger.yml delete mode 100644 .github/workflows/_update.yml delete mode 100644 .github/workflows/abc.net.au.yml delete mode 100644 .github/workflows/allente.se.yml delete mode 100644 .github/workflows/andorradifusio.ad.yml delete mode 100644 .github/workflows/arianaafgtv.com.yml delete mode 100644 .github/workflows/arianatelevision.com.yml delete mode 100644 .github/workflows/artonline.tv.yml delete mode 100644 .github/workflows/astro.com.my.yml delete mode 100644 .github/workflows/bein.com.yml delete mode 100644 .github/workflows/beinsports.com.yml delete mode 100644 .github/workflows/berrymedia.co.kr.yml delete mode 100644 .github/workflows/bt.com.yml delete mode 100644 .github/workflows/cablego.com.pe.yml delete mode 100644 .github/workflows/cableplus.com.uy.yml delete mode 100644 .github/workflows/canalplus-afrique.com.yml delete mode 100644 .github/workflows/canalplus-caraibes.com.yml delete mode 100644 .github/workflows/canalplus-haiti.com.yml delete mode 100644 .github/workflows/canalplus-reunion.com.yml delete mode 100644 .github/workflows/canalplus.com.yml delete mode 100644 .github/workflows/cgates.lt.yml delete mode 100644 .github/workflows/chaines-tv.orange.fr.yml delete mode 100644 .github/workflows/clickthecity.com.yml delete mode 100644 .github/workflows/compulms.com.yml delete mode 100644 .github/workflows/comteco.com.bo.yml delete mode 100644 .github/workflows/cosmote.gr.yml delete mode 100644 .github/workflows/delta.nl.yml delete mode 100644 .github/workflows/digiturk.com.tr.yml delete mode 100644 .github/workflows/directv.com.ar.yml delete mode 100644 .github/workflows/directv.com.uy.yml delete mode 100644 .github/workflows/directv.com.yml delete mode 100644 .github/workflows/dishtv.in.yml delete mode 100644 .github/workflows/dsmart.com.tr.yml delete mode 100644 .github/workflows/dstv.com.yml delete mode 100644 .github/workflows/elcinema.com.yml delete mode 100644 .github/workflows/ena.skylifetv.co.kr.yml delete mode 100644 .github/workflows/epg.i-cable.com.yml delete mode 100644 .github/workflows/flixed.io.yml delete mode 100644 .github/workflows/foxsports.com.au.yml delete mode 100644 .github/workflows/foxtel.com.au.yml delete mode 100644 .github/workflows/frikanalen.no.yml delete mode 100644 .github/workflows/gatotv.com.yml delete mode 100644 .github/workflows/getafteritmedia.com.yml delete mode 100644 .github/workflows/guidatv.sky.it.yml delete mode 100644 .github/workflows/guide.dstv.com.yml delete mode 100644 .github/workflows/hd-plus.de.yml delete mode 100644 .github/workflows/horizon.tv.yml delete mode 100644 .github/workflows/i.mjh.nz.yml delete mode 100644 .github/workflows/i24news.tv.yml delete mode 100644 .github/workflows/indihometv.com.yml delete mode 100644 .github/workflows/ionplustv.com.yml delete mode 100644 .github/workflows/ipko.com.yml delete mode 100644 .github/workflows/kan.org.il.yml delete mode 100644 .github/workflows/knr.gl.yml delete mode 100644 .github/workflows/kplus.vn.yml delete mode 100644 .github/workflows/kvf.fo.yml delete mode 100644 .github/workflows/m.tv.sms.cz.yml delete mode 100644 .github/workflows/magentatv.at.yml delete mode 100644 .github/workflows/magentatv.de.yml delete mode 100644 .github/workflows/magticom.ge.yml delete mode 100644 .github/workflows/mako.co.il.yml delete mode 100644 .github/workflows/maxtv.hrvatskitelekom.hr.yml delete mode 100644 .github/workflows/maxtvgo.mk.yml delete mode 100644 .github/workflows/mbc.net.yml delete mode 100644 .github/workflows/mediagenie.co.kr.yml delete mode 100644 .github/workflows/mediaklikk.hu.yml delete mode 100644 .github/workflows/mediaset.it.yml delete mode 100644 .github/workflows/melita.com.yml delete mode 100644 .github/workflows/meo.pt.yml delete mode 100644 .github/workflows/mewatch.sg.yml delete mode 100644 .github/workflows/mi.tv.yml delete mode 100644 .github/workflows/mncvision.id.yml delete mode 100644 .github/workflows/mon-programme-tv.be.yml delete mode 100644 .github/workflows/movistarplus.es.yml delete mode 100644 .github/workflows/mtel.ba.yml delete mode 100644 .github/workflows/mts.rs.yml delete mode 100644 .github/workflows/mujtvprogram.cz.yml delete mode 100644 .github/workflows/musor.tv.yml delete mode 100644 .github/workflows/myafn.dodmedia.osd.mil.yml delete mode 100644 .github/workflows/mysky.com.ph.yml delete mode 100644 .github/workflows/mytvsuper.com.yml delete mode 100644 .github/workflows/nos.pt.yml delete mode 100644 .github/workflows/novacyprus.com.yml delete mode 100644 .github/workflows/novasports.gr.yml delete mode 100644 .github/workflows/nowplayer.now.com.yml delete mode 100644 .github/workflows/nuevosiglo.com.uy.yml delete mode 100644 .github/workflows/ontvtonight.com.yml delete mode 100644 .github/workflows/osn.com.yml delete mode 100644 .github/workflows/pbsguam.org.yml delete mode 100644 .github/workflows/plex.tv.yml delete mode 100644 .github/workflows/programacion-tv.elpais.com.yml delete mode 100644 .github/workflows/programacion.tcc.com.uy.yml delete mode 100644 .github/workflows/programetv.ro.yml delete mode 100644 .github/workflows/programme-tv.net.yml delete mode 100644 .github/workflows/programme-tv.vini.pf.yml delete mode 100644 .github/workflows/programme.tvb.com.yml delete mode 100644 .github/workflows/programtv.onet.pl.yml delete mode 100644 .github/workflows/proximusmwc.be.yml delete mode 100644 .github/workflows/raiplay.it.yml delete mode 100644 .github/workflows/reportv.com.ar.yml delete mode 100644 .github/workflows/rev.bs.yml delete mode 100644 .github/workflows/rotana.net.yml delete mode 100644 .github/workflows/rtb.gov.bn.yml delete mode 100644 .github/workflows/rthk.hk.yml delete mode 100644 .github/workflows/rtmklik.rtm.gov.my.yml delete mode 100644 .github/workflows/rtp.pt.yml delete mode 100644 .github/workflows/ruv.is.yml delete mode 100644 .github/workflows/seezntv.com.yml delete mode 100644 .github/workflows/siba.com.co.yml delete mode 100644 .github/workflows/singtel.com.yml delete mode 100644 .github/workflows/sjonvarp.is.yml delete mode 100644 .github/workflows/sky.co.nz.yml delete mode 100644 .github/workflows/sky.com.yml delete mode 100644 .github/workflows/sky.de.yml delete mode 100644 .github/workflows/sportsnet.ca.yml delete mode 100644 .github/workflows/starhubtvplus.com.yml delete mode 100644 .github/workflows/startimestv.com.yml delete mode 100644 .github/workflows/startv.com.yml delete mode 100644 .github/workflows/superguidatv.it.yml delete mode 100644 .github/workflows/tapdmv.com.yml delete mode 100644 .github/workflows/telecablesat.fr.yml delete mode 100644 .github/workflows/telenet.tv.yml delete mode 100644 .github/workflows/teliatv.ee.yml delete mode 100644 .github/workflows/telkku.com.yml delete mode 100644 .github/workflows/telkussa.fi.yml delete mode 100644 .github/workflows/telsu.fi.yml delete mode 100644 .github/workflows/tivu.tv.yml delete mode 100644 .github/workflows/toonamiaftermath.com.yml delete mode 100644 .github/workflows/transvision.co.id.yml delete mode 100644 .github/workflows/turksatkablo.com.tr.yml delete mode 100644 .github/workflows/tv.blue.ch.yml delete mode 100644 .github/workflows/tv.cctv.com.yml delete mode 100644 .github/workflows/tv.dir.bg.yml delete mode 100644 .github/workflows/tv.lv.yml delete mode 100644 .github/workflows/tv.mail.ru.yml delete mode 100644 .github/workflows/tv.movistar.com.pe.yml delete mode 100644 .github/workflows/tv.nu.yml delete mode 100644 .github/workflows/tv.post.lu.yml delete mode 100644 .github/workflows/tv.trueid.net.yml delete mode 100644 .github/workflows/tv.yandex.ru.yml delete mode 100644 .github/workflows/tv.yettel.hu.yml delete mode 100644 .github/workflows/tv24.co.uk.yml delete mode 100644 .github/workflows/tv24.se.yml delete mode 100644 .github/workflows/tv2go.t-2.net.yml delete mode 100644 .github/workflows/tva.tv.yml delete mode 100644 .github/workflows/tvarenasport.com.yml delete mode 100644 .github/workflows/tvarenasport.hr.yml delete mode 100644 .github/workflows/tvcubana.icrt.cu.yml delete mode 100644 .github/workflows/tvgid.ua.yml delete mode 100644 .github/workflows/tvgids.nl.yml delete mode 100644 .github/workflows/tvguide.com.yml delete mode 100644 .github/workflows/tvguide.myjcom.jp.yml delete mode 100644 .github/workflows/tvhebdo.com.yml delete mode 100644 .github/workflows/tvheute.at.yml delete mode 100644 .github/workflows/tvim.tv.yml delete mode 100644 .github/workflows/tving.com.yml delete mode 100644 .github/workflows/tvmi.mt.yml delete mode 100644 .github/workflows/tvmusor.hu.yml delete mode 100644 .github/workflows/tvpassport.com.yml delete mode 100644 .github/workflows/tvplus.com.tr.yml delete mode 100644 .github/workflows/tvprofil.com.yml delete mode 100644 .github/workflows/tvtv.us.yml delete mode 100644 .github/workflows/unifi.com.my.yml delete mode 100644 .github/workflows/vidio.com.yml delete mode 100644 .github/workflows/virginmedia.com.yml delete mode 100644 .github/workflows/virginmediatelevision.ie.yml delete mode 100644 .github/workflows/vivacom.bg.yml delete mode 100644 .github/workflows/vtm.be.yml delete mode 100644 .github/workflows/walesi.com.fj.yml delete mode 100644 .github/workflows/watchyour.tv.yml delete mode 100644 .github/workflows/wavve.com.yml delete mode 100644 .github/workflows/worldfishingnetwork.com.yml delete mode 100644 .github/workflows/xumo.tv.yml delete mode 100644 .github/workflows/zap.co.ao.yml delete mode 100644 .github/workflows/ziggogo.tv.yml delete mode 100644 .github/workflows/znbc.co.zm.yml delete mode 100644 .github/workflows/zuragt.mn.yml diff --git a/.github/workflows/9tv.co.il.yml b/.github/workflows/9tv.co.il.yml deleted file mode 100644 index 5337634e..00000000 --- a/.github/workflows/9tv.co.il.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: 9tv.co.il -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/_check.yml b/.github/workflows/_check.yml deleted file mode 100644 index 76fdcac2..00000000 --- a/.github/workflows/_check.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: _check -on: - workflow_dispatch: - pull_request: - types: [opened, synchronize, reopened, edited] -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true -jobs: - check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 2 - - name: Download data from API - run: | - mkdir -p scripts/data - curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json - - uses: tj-actions/changed-files@v35 - id: files - with: - files: sites/**/*.channels.xml - - uses: actions/setup-node@v3 - if: ${{ !env.ACT && steps.files.outputs.any_changed == 'true' }} - with: - node-version: 16 - cache: 'npm' - - name: validate - if: steps.files.outputs.any_changed == 'true' - run: | - npm install - npm run channels:lint -- ${{ steps.files.outputs.all_changed_files }} - npm run channels:validate -- ${{ steps.files.outputs.all_changed_files }} diff --git a/.github/workflows/_load.yml b/.github/workflows/_load.yml deleted file mode 100644 index 97fd9658..00000000 --- a/.github/workflows/_load.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: _load -on: - workflow_call: - inputs: - site: - required: true - type: string - secrets: - APP_ID: - required: true - APP_PRIVATE_KEY: - required: true -jobs: - load: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: npm run api:load - - uses: actions/setup-node@v3 - if: ${{ !env.ACT }} - with: - node-version: 16 - cache: 'npm' - - run: npm install - - run: CHANNELS_PATH=sites/${{inputs.site}}/*.channels.xml npm run queue:create -- --max-clusters=1 - - run: NODE_OPTIONS=--insecure-http-parser npm run cluster:load -- --timeout=30000 --cluster-id=1 - - run: npm run programs:save - - uses: actions/upload-artifact@v3 - with: - name: database - path: scripts/database diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml deleted file mode 100644 index db596ece..00000000 --- a/.github/workflows/_test.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: _test -on: - workflow_dispatch: -jobs: - load: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: npm run api:load - - run: npm install - - run: CHANNELS_PATH=sites/tvtv.us/tvtv.us_us.channels.xml npm run queue:create -- --max-clusters=1 --days=2 - - run: NODE_OPTIONS=--insecure-http-parser npm run cluster:load -- --timeout=30000 --cluster-id=1 \ No newline at end of file diff --git a/.github/workflows/_trigger.yml b/.github/workflows/_trigger.yml deleted file mode 100644 index e866e272..00000000 --- a/.github/workflows/_trigger.yml +++ /dev/null @@ -1,8 +0,0 @@ -name: _trigger -on: - workflow_dispatch: -jobs: - start: - runs-on: ubuntu-latest - steps: - - run: echo 'Starting all workflows...' diff --git a/.github/workflows/_update.yml b/.github/workflows/_update.yml deleted file mode 100644 index 1ab62d8c..00000000 --- a/.github/workflows/_update.yml +++ /dev/null @@ -1,91 +0,0 @@ -name: _update -on: - workflow_dispatch: - schedule: - - cron: '0 9 * * *' -jobs: - update: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: echo "BRANCH_NAME=$(date +'bot/auto-update-%s')" >> $GITHUB_OUTPUT - id: create-branch-name - - run: git config user.name 'iptv-bot[bot]' - - run: git config user.email '84861620+iptv-bot[bot]@users.noreply.github.com' - - run: git checkout -b ${{ steps.create-branch-name.outputs.BRANCH_NAME }} - - uses: tibdex/github-app-token@v1 - if: ${{ !env.ACT }} - id: create-app-token - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.APP_PRIVATE_KEY }} - - uses: actions/setup-node@v3 - if: ${{ !env.ACT }} - with: - node-version: 16 - cache: 'npm' - - run: npm install - - run: npm run api:load - - if: ${{ !env.ACT }} - run: GITHUB_TOKEN=${{ steps.create-app-token.outputs.token }} npm run db:load - - uses: actions/upload-artifact@v3 - with: - name: database - path: scripts/database - - run: npm run guides:update - - uses: actions/upload-artifact@v3 - with: - name: logs - path: scripts/logs - - run: npm run api:update - - run: npm run readme:update - - name: Commit Changes - if: ${{ !env.ACT }} - run: | - git add README.md - git commit --allow-empty -m "[Bot] Update README.md" - git status - - name: Push to origin - if: ${{ !env.ACT }} - run: | - git push -u origin ${{ steps.create-branch-name.outputs.BRANCH_NAME }} - - uses: JamesIves/github-pages-deploy-action@v4.4.1 - if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} - with: - branch: gh-pages - folder: .gh-pages - token: ${{ steps.create-app-token.outputs.token }} - git-config-name: iptv-bot[bot] - git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com - commit-message: '[Bot] Update guides' - single-commit: true - clean: true - - uses: JamesIves/github-pages-deploy-action@v4.4.1 - if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} - with: - repository-name: iptv-org/api - branch: gh-pages - folder: .api - token: ${{ steps.create-app-token.outputs.token }} - git-config-name: iptv-bot[bot] - git-config-email: 84861620+iptv-bot[bot]@users.noreply.github.com - commit-message: '[Bot] Deploy to iptv-org/api' - clean: false - - uses: repo-sync/pull-request@v2.9 - if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} - id: pull-request - with: - github_token: ${{ steps.create-app-token.outputs.token }} - source_branch: ${{ steps.create-branch-name.outputs.BRANCH_NAME }} - destination_branch: 'master' - pr_title: '[Bot] Daily update' - pr_body: | - This pull request is created via [update][1] workflow. - - [1]: https://github.com/iptv-org/epg/actions/runs/${{ github.run_id }} - - uses: juliangruber/merge-pull-request-action@v1 - if: ${{ !env.ACT && github.ref == 'refs/heads/master' && steps.pull-request.outputs.has_changed_files }} - with: - github-token: ${{ secrets.PAT }} - number: ${{ steps.pull-request.outputs.pr_number }} - method: squash diff --git a/.github/workflows/abc.net.au.yml b/.github/workflows/abc.net.au.yml deleted file mode 100644 index 4ebe1b9b..00000000 --- a/.github/workflows/abc.net.au.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: abc.net.au -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/allente.se.yml b/.github/workflows/allente.se.yml deleted file mode 100644 index 86bd9fdd..00000000 --- a/.github/workflows/allente.se.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: allente.se -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/andorradifusio.ad.yml b/.github/workflows/andorradifusio.ad.yml deleted file mode 100644 index 2178aa50..00000000 --- a/.github/workflows/andorradifusio.ad.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: andorradifusio.ad -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/arianaafgtv.com.yml b/.github/workflows/arianaafgtv.com.yml deleted file mode 100644 index da156927..00000000 --- a/.github/workflows/arianaafgtv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: arianaafgtv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/arianatelevision.com.yml b/.github/workflows/arianatelevision.com.yml deleted file mode 100644 index 3b03e126..00000000 --- a/.github/workflows/arianatelevision.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: arianatelevision.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/artonline.tv.yml b/.github/workflows/artonline.tv.yml deleted file mode 100644 index 93a727af..00000000 --- a/.github/workflows/artonline.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: artonline.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/astro.com.my.yml b/.github/workflows/astro.com.my.yml deleted file mode 100644 index b9883778..00000000 --- a/.github/workflows/astro.com.my.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: astro.com.my -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/bein.com.yml b/.github/workflows/bein.com.yml deleted file mode 100644 index 0267dc99..00000000 --- a/.github/workflows/bein.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: bein.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/beinsports.com.yml b/.github/workflows/beinsports.com.yml deleted file mode 100644 index efcb4d69..00000000 --- a/.github/workflows/beinsports.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: beinsports.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/berrymedia.co.kr.yml b/.github/workflows/berrymedia.co.kr.yml deleted file mode 100644 index c606c01e..00000000 --- a/.github/workflows/berrymedia.co.kr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: berrymedia.co.kr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/bt.com.yml b/.github/workflows/bt.com.yml deleted file mode 100644 index 50f6889b..00000000 --- a/.github/workflows/bt.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: bt.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/cablego.com.pe.yml b/.github/workflows/cablego.com.pe.yml deleted file mode 100644 index d5737366..00000000 --- a/.github/workflows/cablego.com.pe.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: cablego.com.pe -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/cableplus.com.uy.yml b/.github/workflows/cableplus.com.uy.yml deleted file mode 100644 index 5e9c8245..00000000 --- a/.github/workflows/cableplus.com.uy.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: cableplus.com.uy -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/canalplus-afrique.com.yml b/.github/workflows/canalplus-afrique.com.yml deleted file mode 100644 index e5b4392c..00000000 --- a/.github/workflows/canalplus-afrique.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: canalplus-afrique.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/canalplus-caraibes.com.yml b/.github/workflows/canalplus-caraibes.com.yml deleted file mode 100644 index c68cbb1c..00000000 --- a/.github/workflows/canalplus-caraibes.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: canalplus-caraibes.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/canalplus-haiti.com.yml b/.github/workflows/canalplus-haiti.com.yml deleted file mode 100644 index 54e72d45..00000000 --- a/.github/workflows/canalplus-haiti.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: canalplus-haiti.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/canalplus-reunion.com.yml b/.github/workflows/canalplus-reunion.com.yml deleted file mode 100644 index 0559c63c..00000000 --- a/.github/workflows/canalplus-reunion.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: canalplus-reunion.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/canalplus.com.yml b/.github/workflows/canalplus.com.yml deleted file mode 100644 index e35f3f99..00000000 --- a/.github/workflows/canalplus.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: canalplus.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/cgates.lt.yml b/.github/workflows/cgates.lt.yml deleted file mode 100644 index 5e05e759..00000000 --- a/.github/workflows/cgates.lt.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: cgates.lt -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/chaines-tv.orange.fr.yml b/.github/workflows/chaines-tv.orange.fr.yml deleted file mode 100644 index da5f5fc5..00000000 --- a/.github/workflows/chaines-tv.orange.fr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: chaines-tv.orange.fr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/clickthecity.com.yml b/.github/workflows/clickthecity.com.yml deleted file mode 100644 index d7238247..00000000 --- a/.github/workflows/clickthecity.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: clickthecity.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/compulms.com.yml b/.github/workflows/compulms.com.yml deleted file mode 100644 index fad08466..00000000 --- a/.github/workflows/compulms.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: compulms.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/comteco.com.bo.yml b/.github/workflows/comteco.com.bo.yml deleted file mode 100644 index 5e57a8d6..00000000 --- a/.github/workflows/comteco.com.bo.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: comteco.com.bo -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/cosmote.gr.yml b/.github/workflows/cosmote.gr.yml deleted file mode 100644 index 379278af..00000000 --- a/.github/workflows/cosmote.gr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: cosmote.gr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/delta.nl.yml b/.github/workflows/delta.nl.yml deleted file mode 100644 index 1b6e0b95..00000000 --- a/.github/workflows/delta.nl.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: delta.nl -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/digiturk.com.tr.yml b/.github/workflows/digiturk.com.tr.yml deleted file mode 100644 index c4454acf..00000000 --- a/.github/workflows/digiturk.com.tr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: digiturk.com.tr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/directv.com.ar.yml b/.github/workflows/directv.com.ar.yml deleted file mode 100644 index 3aac10e7..00000000 --- a/.github/workflows/directv.com.ar.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: directv.com.ar -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/directv.com.uy.yml b/.github/workflows/directv.com.uy.yml deleted file mode 100644 index ada70ca0..00000000 --- a/.github/workflows/directv.com.uy.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: directv.com.uy -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/directv.com.yml b/.github/workflows/directv.com.yml deleted file mode 100644 index 2269ab23..00000000 --- a/.github/workflows/directv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: directv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/dishtv.in.yml b/.github/workflows/dishtv.in.yml deleted file mode 100644 index 254afc29..00000000 --- a/.github/workflows/dishtv.in.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: dishtv.in -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/dsmart.com.tr.yml b/.github/workflows/dsmart.com.tr.yml deleted file mode 100644 index e4653e29..00000000 --- a/.github/workflows/dsmart.com.tr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: dsmart.com.tr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/dstv.com.yml b/.github/workflows/dstv.com.yml deleted file mode 100644 index f4be55c1..00000000 --- a/.github/workflows/dstv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: dstv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/elcinema.com.yml b/.github/workflows/elcinema.com.yml deleted file mode 100644 index c9d21d9a..00000000 --- a/.github/workflows/elcinema.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: elcinema.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/ena.skylifetv.co.kr.yml b/.github/workflows/ena.skylifetv.co.kr.yml deleted file mode 100644 index d5fcc618..00000000 --- a/.github/workflows/ena.skylifetv.co.kr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: ena.skylifetv.co.kr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/epg.i-cable.com.yml b/.github/workflows/epg.i-cable.com.yml deleted file mode 100644 index 5c954d90..00000000 --- a/.github/workflows/epg.i-cable.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: epg.i-cable.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/flixed.io.yml b/.github/workflows/flixed.io.yml deleted file mode 100644 index 0d9987f3..00000000 --- a/.github/workflows/flixed.io.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: flixed.io -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/foxsports.com.au.yml b/.github/workflows/foxsports.com.au.yml deleted file mode 100644 index 8100af83..00000000 --- a/.github/workflows/foxsports.com.au.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: foxsports.com.au -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/foxtel.com.au.yml b/.github/workflows/foxtel.com.au.yml deleted file mode 100644 index b3688e19..00000000 --- a/.github/workflows/foxtel.com.au.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: foxtel.com.au -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/frikanalen.no.yml b/.github/workflows/frikanalen.no.yml deleted file mode 100644 index ffa6b396..00000000 --- a/.github/workflows/frikanalen.no.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: frikanalen.no -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/gatotv.com.yml b/.github/workflows/gatotv.com.yml deleted file mode 100644 index cb66da80..00000000 --- a/.github/workflows/gatotv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: gatotv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/getafteritmedia.com.yml b/.github/workflows/getafteritmedia.com.yml deleted file mode 100644 index ccaea7d4..00000000 --- a/.github/workflows/getafteritmedia.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: getafteritmedia.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/guidatv.sky.it.yml b/.github/workflows/guidatv.sky.it.yml deleted file mode 100644 index b7a27a8c..00000000 --- a/.github/workflows/guidatv.sky.it.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: guidatv.sky.it -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/guide.dstv.com.yml b/.github/workflows/guide.dstv.com.yml deleted file mode 100644 index 611ff468..00000000 --- a/.github/workflows/guide.dstv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: guide.dstv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/hd-plus.de.yml b/.github/workflows/hd-plus.de.yml deleted file mode 100644 index 12c3338c..00000000 --- a/.github/workflows/hd-plus.de.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: hd-plus.de -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/horizon.tv.yml b/.github/workflows/horizon.tv.yml deleted file mode 100644 index e56e2378..00000000 --- a/.github/workflows/horizon.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: horizon.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/i.mjh.nz.yml b/.github/workflows/i.mjh.nz.yml deleted file mode 100644 index 081c8328..00000000 --- a/.github/workflows/i.mjh.nz.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: i.mjh.nz -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/i24news.tv.yml b/.github/workflows/i24news.tv.yml deleted file mode 100644 index 23016f1c..00000000 --- a/.github/workflows/i24news.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: i24news.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/indihometv.com.yml b/.github/workflows/indihometv.com.yml deleted file mode 100644 index 468b95f4..00000000 --- a/.github/workflows/indihometv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: indihometv.com -on: - schedule: - - cron: '0 7 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/ionplustv.com.yml b/.github/workflows/ionplustv.com.yml deleted file mode 100644 index ff48b40c..00000000 --- a/.github/workflows/ionplustv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: ionplustv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/ipko.com.yml b/.github/workflows/ipko.com.yml deleted file mode 100644 index c94493a7..00000000 --- a/.github/workflows/ipko.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: ipko.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/kan.org.il.yml b/.github/workflows/kan.org.il.yml deleted file mode 100644 index cf347380..00000000 --- a/.github/workflows/kan.org.il.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: kan.org.il -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/knr.gl.yml b/.github/workflows/knr.gl.yml deleted file mode 100644 index 25d5f953..00000000 --- a/.github/workflows/knr.gl.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: knr.gl -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/kplus.vn.yml b/.github/workflows/kplus.vn.yml deleted file mode 100644 index 1b529431..00000000 --- a/.github/workflows/kplus.vn.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: kplus.vn -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/kvf.fo.yml b/.github/workflows/kvf.fo.yml deleted file mode 100644 index fe70faf7..00000000 --- a/.github/workflows/kvf.fo.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: kvf.fo -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/m.tv.sms.cz.yml b/.github/workflows/m.tv.sms.cz.yml deleted file mode 100644 index a8a07a37..00000000 --- a/.github/workflows/m.tv.sms.cz.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: m.tv.sms.cz -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/magentatv.at.yml b/.github/workflows/magentatv.at.yml deleted file mode 100644 index 9b1b177e..00000000 --- a/.github/workflows/magentatv.at.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: magentatv.at -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/magentatv.de.yml b/.github/workflows/magentatv.de.yml deleted file mode 100644 index a59d6167..00000000 --- a/.github/workflows/magentatv.de.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: magentatv.de -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/magticom.ge.yml b/.github/workflows/magticom.ge.yml deleted file mode 100644 index 76de135f..00000000 --- a/.github/workflows/magticom.ge.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: magticom.ge -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mako.co.il.yml b/.github/workflows/mako.co.il.yml deleted file mode 100644 index e2aa55ec..00000000 --- a/.github/workflows/mako.co.il.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mako.co.il -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/maxtv.hrvatskitelekom.hr.yml b/.github/workflows/maxtv.hrvatskitelekom.hr.yml deleted file mode 100644 index 8f3fa2bc..00000000 --- a/.github/workflows/maxtv.hrvatskitelekom.hr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: maxtv.hrvatskitelekom.hr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/maxtvgo.mk.yml b/.github/workflows/maxtvgo.mk.yml deleted file mode 100644 index 7304248b..00000000 --- a/.github/workflows/maxtvgo.mk.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: maxtvgo.mk -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mbc.net.yml b/.github/workflows/mbc.net.yml deleted file mode 100644 index d76cd486..00000000 --- a/.github/workflows/mbc.net.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mbc.net -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mediagenie.co.kr.yml b/.github/workflows/mediagenie.co.kr.yml deleted file mode 100644 index 937dbfe0..00000000 --- a/.github/workflows/mediagenie.co.kr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mediagenie.co.kr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mediaklikk.hu.yml b/.github/workflows/mediaklikk.hu.yml deleted file mode 100644 index 952bfb21..00000000 --- a/.github/workflows/mediaklikk.hu.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mediaklikk.hu -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mediaset.it.yml b/.github/workflows/mediaset.it.yml deleted file mode 100644 index 0b704fa4..00000000 --- a/.github/workflows/mediaset.it.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mediaset.it -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/melita.com.yml b/.github/workflows/melita.com.yml deleted file mode 100644 index f06532ef..00000000 --- a/.github/workflows/melita.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: melita.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/meo.pt.yml b/.github/workflows/meo.pt.yml deleted file mode 100644 index bbab50fb..00000000 --- a/.github/workflows/meo.pt.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: meo.pt -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mewatch.sg.yml b/.github/workflows/mewatch.sg.yml deleted file mode 100644 index da8542fe..00000000 --- a/.github/workflows/mewatch.sg.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mewatch.sg -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mi.tv.yml b/.github/workflows/mi.tv.yml deleted file mode 100644 index 9b0a1a18..00000000 --- a/.github/workflows/mi.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mi.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mncvision.id.yml b/.github/workflows/mncvision.id.yml deleted file mode 100644 index c9968ac0..00000000 --- a/.github/workflows/mncvision.id.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mncvision.id -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mon-programme-tv.be.yml b/.github/workflows/mon-programme-tv.be.yml deleted file mode 100644 index ff7e45ed..00000000 --- a/.github/workflows/mon-programme-tv.be.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mon-programme-tv.be -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/movistarplus.es.yml b/.github/workflows/movistarplus.es.yml deleted file mode 100644 index 60966b31..00000000 --- a/.github/workflows/movistarplus.es.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: movistarplus.es -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mtel.ba.yml b/.github/workflows/mtel.ba.yml deleted file mode 100644 index 807488b0..00000000 --- a/.github/workflows/mtel.ba.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mtel.ba -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mts.rs.yml b/.github/workflows/mts.rs.yml deleted file mode 100644 index ae4873a6..00000000 --- a/.github/workflows/mts.rs.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mts.rs -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mujtvprogram.cz.yml b/.github/workflows/mujtvprogram.cz.yml deleted file mode 100644 index 3d36b45d..00000000 --- a/.github/workflows/mujtvprogram.cz.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mujtvprogram.cz -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/musor.tv.yml b/.github/workflows/musor.tv.yml deleted file mode 100644 index bd89034b..00000000 --- a/.github/workflows/musor.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: musor.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/myafn.dodmedia.osd.mil.yml b/.github/workflows/myafn.dodmedia.osd.mil.yml deleted file mode 100644 index d18c1785..00000000 --- a/.github/workflows/myafn.dodmedia.osd.mil.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: myafn.dodmedia.osd.mil -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mysky.com.ph.yml b/.github/workflows/mysky.com.ph.yml deleted file mode 100644 index 958a48dd..00000000 --- a/.github/workflows/mysky.com.ph.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mysky.com.ph -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/mytvsuper.com.yml b/.github/workflows/mytvsuper.com.yml deleted file mode 100644 index 3f2b1271..00000000 --- a/.github/workflows/mytvsuper.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: mytvsuper.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/nos.pt.yml b/.github/workflows/nos.pt.yml deleted file mode 100644 index 13448248..00000000 --- a/.github/workflows/nos.pt.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: nos.pt -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/novacyprus.com.yml b/.github/workflows/novacyprus.com.yml deleted file mode 100644 index 80dcb9a2..00000000 --- a/.github/workflows/novacyprus.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: novacyprus.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/novasports.gr.yml b/.github/workflows/novasports.gr.yml deleted file mode 100644 index f092f86d..00000000 --- a/.github/workflows/novasports.gr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: novasports.gr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/nowplayer.now.com.yml b/.github/workflows/nowplayer.now.com.yml deleted file mode 100644 index a8384883..00000000 --- a/.github/workflows/nowplayer.now.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: nowplayer.now.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/nuevosiglo.com.uy.yml b/.github/workflows/nuevosiglo.com.uy.yml deleted file mode 100644 index 35566dcf..00000000 --- a/.github/workflows/nuevosiglo.com.uy.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: nuevosiglo.com.uy -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/ontvtonight.com.yml b/.github/workflows/ontvtonight.com.yml deleted file mode 100644 index 1196f6f7..00000000 --- a/.github/workflows/ontvtonight.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: ontvtonight.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/osn.com.yml b/.github/workflows/osn.com.yml deleted file mode 100644 index 8fda37e1..00000000 --- a/.github/workflows/osn.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: osn.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/pbsguam.org.yml b/.github/workflows/pbsguam.org.yml deleted file mode 100644 index 758db2ac..00000000 --- a/.github/workflows/pbsguam.org.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: pbsguam.org -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/plex.tv.yml b/.github/workflows/plex.tv.yml deleted file mode 100644 index 246785fd..00000000 --- a/.github/workflows/plex.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: plex.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/programacion-tv.elpais.com.yml b/.github/workflows/programacion-tv.elpais.com.yml deleted file mode 100644 index d5211fa3..00000000 --- a/.github/workflows/programacion-tv.elpais.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: programacion-tv.elpais.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/programacion.tcc.com.uy.yml b/.github/workflows/programacion.tcc.com.uy.yml deleted file mode 100644 index f8327543..00000000 --- a/.github/workflows/programacion.tcc.com.uy.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: programacion.tcc.com.uy -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/programetv.ro.yml b/.github/workflows/programetv.ro.yml deleted file mode 100644 index 7e88fe99..00000000 --- a/.github/workflows/programetv.ro.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: programetv.ro -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/programme-tv.net.yml b/.github/workflows/programme-tv.net.yml deleted file mode 100644 index 804edad1..00000000 --- a/.github/workflows/programme-tv.net.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: programme-tv.net -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/programme-tv.vini.pf.yml b/.github/workflows/programme-tv.vini.pf.yml deleted file mode 100644 index 3dd89fd9..00000000 --- a/.github/workflows/programme-tv.vini.pf.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: programme-tv.vini.pf -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/programme.tvb.com.yml b/.github/workflows/programme.tvb.com.yml deleted file mode 100644 index 11f614a4..00000000 --- a/.github/workflows/programme.tvb.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: programme.tvb.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/programtv.onet.pl.yml b/.github/workflows/programtv.onet.pl.yml deleted file mode 100644 index cebe5443..00000000 --- a/.github/workflows/programtv.onet.pl.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: programtv.onet.pl -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/proximusmwc.be.yml b/.github/workflows/proximusmwc.be.yml deleted file mode 100644 index 40cfaecb..00000000 --- a/.github/workflows/proximusmwc.be.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: proximusmwc.be -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/raiplay.it.yml b/.github/workflows/raiplay.it.yml deleted file mode 100644 index 18ef42d3..00000000 --- a/.github/workflows/raiplay.it.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: raiplay.it -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/reportv.com.ar.yml b/.github/workflows/reportv.com.ar.yml deleted file mode 100644 index 72a07de0..00000000 --- a/.github/workflows/reportv.com.ar.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: reportv.com.ar -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/rev.bs.yml b/.github/workflows/rev.bs.yml deleted file mode 100644 index 1e197d1f..00000000 --- a/.github/workflows/rev.bs.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: rev.bs -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/rotana.net.yml b/.github/workflows/rotana.net.yml deleted file mode 100644 index 2f77ec6e..00000000 --- a/.github/workflows/rotana.net.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: rotana.net -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/rtb.gov.bn.yml b/.github/workflows/rtb.gov.bn.yml deleted file mode 100644 index 3b6645c5..00000000 --- a/.github/workflows/rtb.gov.bn.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: rtb.gov.bn -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/rthk.hk.yml b/.github/workflows/rthk.hk.yml deleted file mode 100644 index 268805e8..00000000 --- a/.github/workflows/rthk.hk.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: rthk.hk -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/rtmklik.rtm.gov.my.yml b/.github/workflows/rtmklik.rtm.gov.my.yml deleted file mode 100644 index 5708a16f..00000000 --- a/.github/workflows/rtmklik.rtm.gov.my.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: rtmklik.rtm.gov.my -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/rtp.pt.yml b/.github/workflows/rtp.pt.yml deleted file mode 100644 index 5dffd0d5..00000000 --- a/.github/workflows/rtp.pt.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: rtp.pt -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/ruv.is.yml b/.github/workflows/ruv.is.yml deleted file mode 100644 index 26b7118d..00000000 --- a/.github/workflows/ruv.is.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: ruv.is -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/seezntv.com.yml b/.github/workflows/seezntv.com.yml deleted file mode 100644 index 351e3ba7..00000000 --- a/.github/workflows/seezntv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: seezntv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/siba.com.co.yml b/.github/workflows/siba.com.co.yml deleted file mode 100644 index b20e97ec..00000000 --- a/.github/workflows/siba.com.co.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: siba.com.co -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/singtel.com.yml b/.github/workflows/singtel.com.yml deleted file mode 100644 index 5b8e2ee0..00000000 --- a/.github/workflows/singtel.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: singtel.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/sjonvarp.is.yml b/.github/workflows/sjonvarp.is.yml deleted file mode 100644 index 3a389636..00000000 --- a/.github/workflows/sjonvarp.is.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sjonvarp.is -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/sky.co.nz.yml b/.github/workflows/sky.co.nz.yml deleted file mode 100644 index 544d851a..00000000 --- a/.github/workflows/sky.co.nz.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sky.co.nz -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/sky.com.yml b/.github/workflows/sky.com.yml deleted file mode 100644 index 087cdf20..00000000 --- a/.github/workflows/sky.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sky.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/sky.de.yml b/.github/workflows/sky.de.yml deleted file mode 100644 index e6bf87d9..00000000 --- a/.github/workflows/sky.de.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sky.de -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/sportsnet.ca.yml b/.github/workflows/sportsnet.ca.yml deleted file mode 100644 index 20df9e3c..00000000 --- a/.github/workflows/sportsnet.ca.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: sportsnet.ca -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/starhubtvplus.com.yml b/.github/workflows/starhubtvplus.com.yml deleted file mode 100644 index dfa027d3..00000000 --- a/.github/workflows/starhubtvplus.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: starhubtvplus.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/startimestv.com.yml b/.github/workflows/startimestv.com.yml deleted file mode 100644 index 87c3fb93..00000000 --- a/.github/workflows/startimestv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: startimestv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/startv.com.yml b/.github/workflows/startv.com.yml deleted file mode 100644 index 13a29de6..00000000 --- a/.github/workflows/startv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: startv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/superguidatv.it.yml b/.github/workflows/superguidatv.it.yml deleted file mode 100644 index a0942d08..00000000 --- a/.github/workflows/superguidatv.it.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: superguidatv.it -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tapdmv.com.yml b/.github/workflows/tapdmv.com.yml deleted file mode 100644 index 17a99317..00000000 --- a/.github/workflows/tapdmv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tapdmv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/telecablesat.fr.yml b/.github/workflows/telecablesat.fr.yml deleted file mode 100644 index 585071bc..00000000 --- a/.github/workflows/telecablesat.fr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: telecablesat.fr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/telenet.tv.yml b/.github/workflows/telenet.tv.yml deleted file mode 100644 index 9d905b04..00000000 --- a/.github/workflows/telenet.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: telenet.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/teliatv.ee.yml b/.github/workflows/teliatv.ee.yml deleted file mode 100644 index 05b8f8e7..00000000 --- a/.github/workflows/teliatv.ee.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: teliatv.ee -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/telkku.com.yml b/.github/workflows/telkku.com.yml deleted file mode 100644 index 2cb26841..00000000 --- a/.github/workflows/telkku.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: telkku.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/telkussa.fi.yml b/.github/workflows/telkussa.fi.yml deleted file mode 100644 index 5ab01584..00000000 --- a/.github/workflows/telkussa.fi.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: telkussa.fi -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/telsu.fi.yml b/.github/workflows/telsu.fi.yml deleted file mode 100644 index 15adbb81..00000000 --- a/.github/workflows/telsu.fi.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: telsu.fi -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tivu.tv.yml b/.github/workflows/tivu.tv.yml deleted file mode 100644 index 3a333620..00000000 --- a/.github/workflows/tivu.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tivu.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/toonamiaftermath.com.yml b/.github/workflows/toonamiaftermath.com.yml deleted file mode 100644 index cda97895..00000000 --- a/.github/workflows/toonamiaftermath.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: toonamiaftermath.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/transvision.co.id.yml b/.github/workflows/transvision.co.id.yml deleted file mode 100644 index 17332305..00000000 --- a/.github/workflows/transvision.co.id.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: transvision.co.id -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/turksatkablo.com.tr.yml b/.github/workflows/turksatkablo.com.tr.yml deleted file mode 100644 index a32a02b6..00000000 --- a/.github/workflows/turksatkablo.com.tr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: turksatkablo.com.tr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.blue.ch.yml b/.github/workflows/tv.blue.ch.yml deleted file mode 100644 index 0dca7a61..00000000 --- a/.github/workflows/tv.blue.ch.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.blue.ch -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.cctv.com.yml b/.github/workflows/tv.cctv.com.yml deleted file mode 100644 index 57482163..00000000 --- a/.github/workflows/tv.cctv.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.cctv.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.dir.bg.yml b/.github/workflows/tv.dir.bg.yml deleted file mode 100644 index c028a817..00000000 --- a/.github/workflows/tv.dir.bg.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.dir.bg -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.lv.yml b/.github/workflows/tv.lv.yml deleted file mode 100644 index dffa58aa..00000000 --- a/.github/workflows/tv.lv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.lv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.mail.ru.yml b/.github/workflows/tv.mail.ru.yml deleted file mode 100644 index cf45f46c..00000000 --- a/.github/workflows/tv.mail.ru.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.mail.ru -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.movistar.com.pe.yml b/.github/workflows/tv.movistar.com.pe.yml deleted file mode 100644 index 5cb4cb88..00000000 --- a/.github/workflows/tv.movistar.com.pe.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.movistar.com.pe -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.nu.yml b/.github/workflows/tv.nu.yml deleted file mode 100644 index e425eeee..00000000 --- a/.github/workflows/tv.nu.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.nu -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.post.lu.yml b/.github/workflows/tv.post.lu.yml deleted file mode 100644 index c09fc0a3..00000000 --- a/.github/workflows/tv.post.lu.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.post.lu -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.trueid.net.yml b/.github/workflows/tv.trueid.net.yml deleted file mode 100644 index 7f572fbf..00000000 --- a/.github/workflows/tv.trueid.net.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.trueid.net -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.yandex.ru.yml b/.github/workflows/tv.yandex.ru.yml deleted file mode 100644 index 523ab6da..00000000 --- a/.github/workflows/tv.yandex.ru.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.yandex.ru -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv.yettel.hu.yml b/.github/workflows/tv.yettel.hu.yml deleted file mode 100644 index 28ddc6c4..00000000 --- a/.github/workflows/tv.yettel.hu.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv.yettel.hu -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv24.co.uk.yml b/.github/workflows/tv24.co.uk.yml deleted file mode 100644 index eff5a34c..00000000 --- a/.github/workflows/tv24.co.uk.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv24.co.uk -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv24.se.yml b/.github/workflows/tv24.se.yml deleted file mode 100644 index 77af928f..00000000 --- a/.github/workflows/tv24.se.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv24.se -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tv2go.t-2.net.yml b/.github/workflows/tv2go.t-2.net.yml deleted file mode 100644 index 3eeea5d0..00000000 --- a/.github/workflows/tv2go.t-2.net.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tv2go.t-2.net -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tva.tv.yml b/.github/workflows/tva.tv.yml deleted file mode 100644 index 6b89dff7..00000000 --- a/.github/workflows/tva.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tva.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvarenasport.com.yml b/.github/workflows/tvarenasport.com.yml deleted file mode 100644 index 4705d1a4..00000000 --- a/.github/workflows/tvarenasport.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvarenasport.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvarenasport.hr.yml b/.github/workflows/tvarenasport.hr.yml deleted file mode 100644 index 79186d45..00000000 --- a/.github/workflows/tvarenasport.hr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvarenasport.hr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvcubana.icrt.cu.yml b/.github/workflows/tvcubana.icrt.cu.yml deleted file mode 100644 index 818fdad4..00000000 --- a/.github/workflows/tvcubana.icrt.cu.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvcubana.icrt.cu -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvgid.ua.yml b/.github/workflows/tvgid.ua.yml deleted file mode 100644 index 2995f220..00000000 --- a/.github/workflows/tvgid.ua.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvgid.ua -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvgids.nl.yml b/.github/workflows/tvgids.nl.yml deleted file mode 100644 index e7c1546e..00000000 --- a/.github/workflows/tvgids.nl.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvgids.nl -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvguide.com.yml b/.github/workflows/tvguide.com.yml deleted file mode 100644 index 6e66b012..00000000 --- a/.github/workflows/tvguide.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvguide.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvguide.myjcom.jp.yml b/.github/workflows/tvguide.myjcom.jp.yml deleted file mode 100644 index bfa6c18f..00000000 --- a/.github/workflows/tvguide.myjcom.jp.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvguide.myjcom.jp -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvhebdo.com.yml b/.github/workflows/tvhebdo.com.yml deleted file mode 100644 index 1543e5d5..00000000 --- a/.github/workflows/tvhebdo.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvhebdo.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvheute.at.yml b/.github/workflows/tvheute.at.yml deleted file mode 100644 index 7f33c875..00000000 --- a/.github/workflows/tvheute.at.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvheute.at -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvim.tv.yml b/.github/workflows/tvim.tv.yml deleted file mode 100644 index ba5037eb..00000000 --- a/.github/workflows/tvim.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvim.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tving.com.yml b/.github/workflows/tving.com.yml deleted file mode 100644 index 1beef2d6..00000000 --- a/.github/workflows/tving.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tving.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvmi.mt.yml b/.github/workflows/tvmi.mt.yml deleted file mode 100644 index 98f98d2b..00000000 --- a/.github/workflows/tvmi.mt.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvmi.mt -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvmusor.hu.yml b/.github/workflows/tvmusor.hu.yml deleted file mode 100644 index 2498c4d4..00000000 --- a/.github/workflows/tvmusor.hu.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvmusor.hu -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvpassport.com.yml b/.github/workflows/tvpassport.com.yml deleted file mode 100644 index e29d9eca..00000000 --- a/.github/workflows/tvpassport.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvpassport.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvplus.com.tr.yml b/.github/workflows/tvplus.com.tr.yml deleted file mode 100644 index 220c45ed..00000000 --- a/.github/workflows/tvplus.com.tr.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvplus.com.tr -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvprofil.com.yml b/.github/workflows/tvprofil.com.yml deleted file mode 100644 index ed1a8d34..00000000 --- a/.github/workflows/tvprofil.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvprofil.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/tvtv.us.yml b/.github/workflows/tvtv.us.yml deleted file mode 100644 index 60a7bbfc..00000000 --- a/.github/workflows/tvtv.us.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: tvtv.us -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/unifi.com.my.yml b/.github/workflows/unifi.com.my.yml deleted file mode 100644 index 820a65f5..00000000 --- a/.github/workflows/unifi.com.my.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: unifi.com.my -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/vidio.com.yml b/.github/workflows/vidio.com.yml deleted file mode 100644 index 5e21e56c..00000000 --- a/.github/workflows/vidio.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: vidio.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/virginmedia.com.yml b/.github/workflows/virginmedia.com.yml deleted file mode 100644 index a248c89f..00000000 --- a/.github/workflows/virginmedia.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: virginmedia.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/virginmediatelevision.ie.yml b/.github/workflows/virginmediatelevision.ie.yml deleted file mode 100644 index 44da1cb6..00000000 --- a/.github/workflows/virginmediatelevision.ie.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: virginmediatelevision.ie -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/vivacom.bg.yml b/.github/workflows/vivacom.bg.yml deleted file mode 100644 index 1e020fb1..00000000 --- a/.github/workflows/vivacom.bg.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: vivacom.bg -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/vtm.be.yml b/.github/workflows/vtm.be.yml deleted file mode 100644 index 874328d9..00000000 --- a/.github/workflows/vtm.be.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: vtm.be -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/walesi.com.fj.yml b/.github/workflows/walesi.com.fj.yml deleted file mode 100644 index 5fbdda21..00000000 --- a/.github/workflows/walesi.com.fj.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: walesi.com.fj -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/watchyour.tv.yml b/.github/workflows/watchyour.tv.yml deleted file mode 100644 index 2b2b5503..00000000 --- a/.github/workflows/watchyour.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: watchyour.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/wavve.com.yml b/.github/workflows/wavve.com.yml deleted file mode 100644 index db9c9de9..00000000 --- a/.github/workflows/wavve.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: wavve.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/worldfishingnetwork.com.yml b/.github/workflows/worldfishingnetwork.com.yml deleted file mode 100644 index 310ca225..00000000 --- a/.github/workflows/worldfishingnetwork.com.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: worldfishingnetwork.com -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/xumo.tv.yml b/.github/workflows/xumo.tv.yml deleted file mode 100644 index cf2d5ffe..00000000 --- a/.github/workflows/xumo.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: xumo.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/zap.co.ao.yml b/.github/workflows/zap.co.ao.yml deleted file mode 100644 index 1c885749..00000000 --- a/.github/workflows/zap.co.ao.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: zap.co.ao -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/ziggogo.tv.yml b/.github/workflows/ziggogo.tv.yml deleted file mode 100644 index 02d35e7c..00000000 --- a/.github/workflows/ziggogo.tv.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: ziggogo.tv -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/znbc.co.zm.yml b/.github/workflows/znbc.co.zm.yml deleted file mode 100644 index bc905311..00000000 --- a/.github/workflows/znbc.co.zm.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: znbc.co.zm -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} diff --git a/.github/workflows/zuragt.mn.yml b/.github/workflows/zuragt.mn.yml deleted file mode 100644 index 088b1353..00000000 --- a/.github/workflows/zuragt.mn.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: zuragt.mn -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: - workflow_run: - workflows: [_trigger] - types: - - completed -jobs: - load: - uses: ./.github/workflows/_load.yml - with: - site: ${{github.workflow}} - secrets: - APP_ID: ${{ secrets.APP_ID }} - APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }} From 9cfc51cac38811fbd79c6868330ff6834fa65c39 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 18:19:53 +0300 Subject: [PATCH 02/17] Delete unused scripts --- scripts/commands/api/update.js | 31 -------- scripts/commands/cluster/load.js | 89 ----------------------- scripts/commands/database/load.js | 115 ----------------------------- scripts/commands/guides/update.js | 117 ------------------------------ scripts/commands/programs/save.js | 35 --------- scripts/commands/queue/create.js | 103 -------------------------- scripts/commands/readme/update.js | 86 ---------------------- 7 files changed, 576 deletions(-) delete mode 100644 scripts/commands/api/update.js delete mode 100644 scripts/commands/cluster/load.js delete mode 100644 scripts/commands/database/load.js delete mode 100644 scripts/commands/guides/update.js delete mode 100644 scripts/commands/programs/save.js delete mode 100644 scripts/commands/queue/create.js delete mode 100644 scripts/commands/readme/update.js diff --git a/scripts/commands/api/update.js b/scripts/commands/api/update.js deleted file mode 100644 index 98219680..00000000 --- a/scripts/commands/api/update.js +++ /dev/null @@ -1,31 +0,0 @@ -const { file, parser, logger } = require('../../core') -const { program } = require('commander') -const _ = require('lodash') - -const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs' -const OUTPUT_DIR = process.env.OUTPUT_DIR || '.api' - -async function main() { - let guides = [] - - const logPath = `${LOGS_DIR}/guides/update.log` - const results = await parser.parseLogs(logPath) - - for (const result of results) { - guides.push({ - channel: result.channel, - site: result.site, - lang: result.lang, - days: result.days, - url: `https://iptv-org.github.io/epg/guides/${result.filename}.xml` - }) - } - - guides = _.sortBy(guides, 'channel') - - const outputFilepath = `${OUTPUT_DIR}/guides.json` - await file.create(outputFilepath, JSON.stringify(guides)) - logger.info(`saved to "${outputFilepath}"...`) -} - -main() diff --git a/scripts/commands/cluster/load.js b/scripts/commands/cluster/load.js deleted file mode 100644 index 5622bee0..00000000 --- a/scripts/commands/cluster/load.js +++ /dev/null @@ -1,89 +0,0 @@ -const _ = require('lodash') -const { EPGGrabber, Channel } = require('epg-grabber') -const { program } = require('commander') -const { db, logger, timer, file, parser } = require('../../core') -const dayjs = require('dayjs') -const utc = require('dayjs/plugin/utc') - -dayjs.extend(utc) - -const options = program - .requiredOption('-c, --cluster-id ', 'The ID of cluster to load', parser.parseNumber) - .option('--delay ', 'Delay between requests (in mileseconds)', parser.parseNumber) - .option( - '-t, --timeout ', - 'Set a timeout for each request (in mileseconds)', - parser.parseNumber - ) - .option('--debug', 'Enable debug mode', false) - .parse(process.argv) - .opts() - -const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs' -const CLUSTER_PATH = `${LOGS_DIR}/cluster/load/cluster_${options.clusterId}.log` - -async function main() { - logger.info('Starting...') - timer.start() - - logger.info(`Loading cluster: ${options.clusterId}`) - logger.info(`Creating '${CLUSTER_PATH}'...`) - await file.create(CLUSTER_PATH) - await db.queue.load() - let items = await db.queue.find({ cluster_id: options.clusterId }) - items = _.orderBy(items, [i => i.channel.id.toLowerCase(), 'date']) - const total = items.length - - logger.info('Loading...') - let i = 1 - let totalPrograms = 0 - let config = require(file.resolve(items[0].configPath)) - config = _.merge(config, { - debug: options.debug, - delay: options.delay, - request: { - timeout: options.timeout - } - }) - const grabber = new EPGGrabber(config) - for (const item of items) { - const channel = new Channel(item.channel) - - await new Promise(resolve => { - grabber.grab(channel, item.date, async (data, err) => { - logger.info( - `[${i}/${total}] ${channel.site} (${channel.lang}) - ${channel.id} - ${dayjs - .utc(data.date) - .format('MMM D, YYYY')} (${data.programs.length} programs)` - ) - - if (err) logger.error(err.message) - - const result = { - _qid: item._id, - programs: data.programs, - error: err ? err.message : null - } - - await file.append(CLUSTER_PATH, JSON.stringify(result) + '\n') - - totalPrograms += data.programs.length - - if (i < total) i++ - - resolve() - }) - }) - } - - db.queue.compact() - - logger.info(`Done in ${timer.format('HH[h] mm[m] ss[s]')}`) - - if (totalPrograms === 0) { - logger.error('\nError: No programs found') - process.exit(1) - } -} - -main() diff --git a/scripts/commands/database/load.js b/scripts/commands/database/load.js deleted file mode 100644 index 147f16f5..00000000 --- a/scripts/commands/database/load.js +++ /dev/null @@ -1,115 +0,0 @@ -const { Octokit } = require('@octokit/core') -const dayjs = require('dayjs') -const isToday = require('dayjs/plugin/isToday') -const utc = require('dayjs/plugin/utc') -const unzipit = require('unzipit') -const { file, logger } = require('../../core') - -dayjs.extend(isToday) -dayjs.extend(utc) - -const DB_DIR = process.env.DB_DIR || './scripts/database' -const programsPath = `${DB_DIR}/programs.db` -const queuePath = `${DB_DIR}/queue.db` - -const octokit = new Octokit({ - auth: process.env.GITHUB_TOKEN -}) - -async function main() { - try { - let workflows = await getWorkflows() - logger.info(`found ${workflows.length} workflows\r\n`) - - await file.create(programsPath) - await file.create(queuePath) - const total = workflows.length - for (let [i, workflow] of workflows.entries()) { - logger.info(`[${i + 1}/${total}] ${workflow.name}`) - const run = await getWorkflowRun(workflow) - if (!run) continue - - let artifact = await getRunArtifacts(run) - - const programsBuffer = await downloadArtifact(artifact, 'programs.db') - await file.append(programsPath, programsBuffer) - - const queueBuffer = await downloadArtifact(artifact, 'queue.db') - await file.append(queuePath, queueBuffer) - } - } catch (err) { - console.log(err.message) - } -} - -main() - -async function downloadArtifact(artifact, filename) { - let results = await octokit.request( - 'GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}', - { - owner: 'iptv-org', - repo: 'epg', - artifact_id: artifact.id, - archive_format: 'zip' - } - ) - - const { entries } = await unzipit.unzip(results.data) - - const arrayBuffer = await entries[filename].arrayBuffer() - - return toString(arrayBuffer) -} - -async function getRunArtifacts(run) { - let results = await octokit.request('GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts', { - owner: 'iptv-org', - repo: 'epg', - run_id: run.id - }) - - return results.data.artifacts.find(a => a.name === 'database') -} - -async function getWorkflowRun(workflow) { - let today = dayjs.utc().subtract(1, 'd').format('YYYY-MM-DD') - let results = await octokit.request( - 'GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs', - { - owner: 'iptv-org', - repo: 'epg', - workflow_id: workflow.id, - status: 'success', - created: `>=${today}` - } - ) - - return results.data.workflow_runs.find( - r => r.event === 'schedule' || r.event === 'workflow_dispatch' - ) -} - -async function getWorkflows() { - let workflows = [] - for (let page of [1, 2, 3]) { - try { - let results = await octokit.request('GET /repos/{owner}/{repo}/actions/workflows', { - owner: 'iptv-org', - repo: 'epg', - per_page: 100, - page - }) - - workflows = workflows.concat(results.data.workflows) - } catch (err) { - console.log(err.message) - } - } - - return workflows.filter(w => !/^_/.test(w.name) && w.name !== 'pages-build-deployment') -} - -function toString(arrayBuffer) { - return new TextDecoder().decode(arrayBuffer) -} diff --git a/scripts/commands/guides/update.js b/scripts/commands/guides/update.js deleted file mode 100644 index f4ee10f9..00000000 --- a/scripts/commands/guides/update.js +++ /dev/null @@ -1,117 +0,0 @@ -const { db, api, logger, file, zip } = require('../../core') -const { generateXMLTV, Program, Channel } = require('epg-grabber') -const _ = require('lodash') - -const PUBLIC_DIR = process.env.PUBLIC_DIR || '.gh-pages' -const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs' -const CURR_DATE = process.env.CURR_DATE || new Date() - -const logPath = `${LOGS_DIR}/guides/update.log` - -let api_channels = {} -let db_queue = [] -let db_programs = [] -let guides = [] - -async function main() { - logger.info(`starting...`) - - logger.info('loading data/channels.json...') - await api.channels.load() - - api.channels.all().forEach(channel => { - api_channels[channel.id] = channel - }) - - logger.info('loading database/queue.db...') - await db.queue.load() - db_queue = await db.queue.find({}) - logger.info(`found ${db_queue.length} items`) - - logger.info('loading database/programs.db...') - await db.programs.load() - db_programs = await db.programs.find({}) - logger.info(`found ${db_programs.length} programs`) - - await generate() - - logger.info(`creating ${logPath}...`) - await file.create(logPath, guides.map(g => JSON.stringify(g)).join('\r\n')) - - logger.info('finished') -} - -main() - -async function generate() { - let queue = _.uniqBy(db_queue, i => i.channel.lang + i.channel.id + i.channel.site) - queue = _.groupBy(queue, i => (i.channel ? `${i.channel.lang}/${i.channel.site}` : `_`)) - delete queue['_'] - - let programs = _.groupBy(db_programs, p => - p.titles.length ? `${p.titles[0].lang}/${p.site}` : `_` - ) - - delete programs['_'] - - for (let filename in queue) { - if (!queue[filename]) continue - const channels = queue[filename].map(i => { - const channelData = api_channels[i.channel.id] - channelData.site = i.channel.site - channelData.site_id = i.channel.site_id - channelData.lang = i.channel.lang - - return new Channel(channelData) - }) - - await save(filename, channels, programs[filename]) - - for (let channel of channels) { - const configPath = `sites/${channel.site}/${channel.site}.config.js` - const config = require(file.resolve(configPath)) - - guides.push({ - site: channel.site, - lang: channel.lang, - days: config.days, - channel: channel.id, - filename - }) - } - } -} - -async function save(filepath, channels, programs = []) { - let output = { - channels, - programs: [], - date: CURR_DATE - } - - for (let programData of programs) { - let channel = channels.find(c => c.id === programData.channel) - if (!channel) continue - - let program = new Program(programData, channel) - - output.programs.push(program) - } - - output.channels = _.sortBy(output.channels, 'id') - output.channels = _.uniqBy(output.channels, 'id') - - output.programs = _.sortBy(output.programs, ['channel', 'start']) - output.programs = _.uniqBy(output.programs, p => p.channel + p.start) - - const xmlFilepath = `${PUBLIC_DIR}/guides/${filepath}.xml` - const gzFilepath = `${PUBLIC_DIR}/guides/${filepath}.xml.gz` - logger.info(`creating ${xmlFilepath}...`) - const xmltv = generateXMLTV(output) - await file.create(xmlFilepath, xmltv) - logger.info(`creating ${gzFilepath}...`) - const compressed = await zip.compress(xmltv) - await file.create(gzFilepath, compressed) - - return output -} diff --git a/scripts/commands/programs/save.js b/scripts/commands/programs/save.js deleted file mode 100644 index 41b9e2f0..00000000 --- a/scripts/commands/programs/save.js +++ /dev/null @@ -1,35 +0,0 @@ -const { db, logger, file, parser } = require('../../core') -const { Program, Channel } = require('epg-grabber') -const _ = require('lodash') - -const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs' - -async function main() { - await db.queue.load() - await db.programs.load() - await db.programs.reset() - const files = await file.list(`${LOGS_DIR}/cluster/load/cluster_*.log`) - for (const filepath of files) { - logger.info(`Parsing "${filepath}"...`) - const results = await parser.parseLogs(filepath) - for (const result of results) { - const queue = await db.queue.find({ _id: result._qid }).limit(1) - if (!queue.length) continue - const item = queue[0] - const c = new Channel(item.channel) - const programs = result.programs.map(p => { - p = new Program(p, c) - p._qid = result._qid - - return p - }) - await db.programs.insert(programs) - - await db.queue.update({ _id: result._qid }, { $set: { error: result.error } }) - } - } - - await db.queue.compact() -} - -main() diff --git a/scripts/commands/queue/create.js b/scripts/commands/queue/create.js deleted file mode 100644 index dd2ae06a..00000000 --- a/scripts/commands/queue/create.js +++ /dev/null @@ -1,103 +0,0 @@ -const { db, file, parser, logger, date, api } = require('../../core') -const { program } = require('commander') -const _ = require('lodash') - -const options = program - .option( - '--max-clusters ', - 'Set maximum number of clusters', - parser.parseNumber, - 256 - ) - .parse(process.argv) - .opts() - -const CHANNELS_PATH = process.env.CHANNELS_PATH || 'sites/**/*.channels.xml' -const CURR_DATE = process.env.CURR_DATE || new Date() - -async function main() { - logger.info('Starting...') - logger.info(`Number of clusters: ${options.maxClusters}`) - - await saveToDatabase(await createQueue()) - - logger.info('Done') -} - -main() - -async function createQueue() { - logger.info(`Create queue...`) - - let queue = {} - - await api.channels.load().catch(console.error) - const files = await file.list(CHANNELS_PATH).catch(console.error) - const utcDate = date.getUTC(CURR_DATE) - for (const filepath of files) { - try { - const dir = file.dirname(filepath) - const { site, channels } = await parser.parseChannels(filepath) - if (!site) continue - const configPath = `${dir}/${site}.config.js` - const config = require(file.resolve(configPath)) - if (config.skip) continue - const filename = file.basename(filepath) - const days = config.days || 1 - const dates = Array.from({ length: days }, (_, i) => utcDate.add(i, 'd')) - for (const channel of channels) { - if (!channel.site || !channel.id) continue - const found = api.channels.find({ id: channel.id }) - if (!found) continue - channel.logo = found.logo - for (const d of dates) { - const dString = d.toJSON() - const key = `${channel.site}:${channel.lang}:${channel.id}:${dString}` - if (!queue[key]) { - queue[key] = { - channel, - date: dString, - configPath, - error: null - } - } - } - } - } catch (err) { - console.error(err) - continue - } - } - - queue = Object.values(queue) - - logger.info(`Added ${queue.length} items`) - - return queue -} - -async function saveToDatabase(items = []) { - logger.info('Saving to the database...') - await db.queue.load() - await db.queue.reset() - let queue = [] - const chunks = split(_.shuffle(items), options.maxClusters) - for (const [i, chunk] of chunks.entries()) { - for (const item of chunk) { - item.cluster_id = i + 1 - queue.push(item) - } - } - - queue = _.sortBy(queue, ['channel.lang', 'channel.xmltv_id', 'date']) - - await db.queue.insert(queue) -} - -function split(arr, n) { - let result = [] - for (let i = n; i > 0; i--) { - result.push(arr.splice(0, Math.ceil(arr.length / i))) - } - return result -} diff --git a/scripts/commands/readme/update.js b/scripts/commands/readme/update.js deleted file mode 100644 index 8f47ea4f..00000000 --- a/scripts/commands/readme/update.js +++ /dev/null @@ -1,86 +0,0 @@ -const { file, markdown, parser, logger, api, table } = require('../../core') -const { program } = require('commander') -const langs = require('langs') -const _ = require('lodash') - -const LOGS_DIR = process.env.LOGS_DIR || 'scripts/logs' - -const options = program - .option('-c, --config ', 'Set path to config file', '.readme/readme.json') - .parse(process.argv) - .opts() - -async function main() { - await api.countries.load().catch(console.error) - const logPath = `${LOGS_DIR}/guides/update.log` - let log = await parser.parseLogs(logPath) - - await createTable(log) - - await updateReadme() -} - -main() - -async function createTable(log) { - let files = log.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++ - - return acc - }, {}) - - let groups = {} - for (const filename in files) { - const item = files[filename] - const lang = langs.where('1', item.lang) - - if (!lang) continue - - if (!groups[lang.name]) groups[lang.name] = { lang: lang.name, data: [] } - - groups[lang.name].data.push([ - `${item.site}`, - item.channels, - `https://iptv-org.github.io/epg/guides/${filename}.xml`, - `${item.site}` - ]) - } - - groups = _.sortBy(Object.values(groups), 'lang') - - let guides = '' - for (let group of groups) { - let lang = group.lang - let data = group.data - - data = _.orderBy(data, [item => item[0], item => item[1]], ['asc', 'desc']) - data = Object.values(_.groupBy(data, item => item[0])) - - guides += `### ${lang}\r\n\r\n` - guides += table.create(data, [ - 'Site                                        ', - 'Channels', - 'EPG                                                                                                                                      ', - 'Status                                                   ' - ]) - guides += `\r\n\r\n` - } - await file.create('./.readme/_guides.md', guides) -} - -async function updateReadme() { - logger.info('updating readme.md...') - - const config = require(file.resolve(options.config)) - await file.createDir(file.dirname(config.build)) - await markdown.compile(options.config) -} From 54923b88fb8f961d794d3aa6337b6891d9141c92 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 18:21:30 +0300 Subject: [PATCH 03/17] Delete extra tests --- tests/commands/api/update.test.js | 26 --------------- tests/commands/cluster/load.test.js | 37 --------------------- tests/commands/guides/update.test.js | 49 ---------------------------- tests/commands/programs/save.test.js | 48 --------------------------- tests/commands/queue/create.test.js | 48 --------------------------- tests/commands/readme/update.test.js | 26 --------------- 6 files changed, 234 deletions(-) delete mode 100644 tests/commands/api/update.test.js delete mode 100644 tests/commands/cluster/load.test.js delete mode 100644 tests/commands/guides/update.test.js delete mode 100644 tests/commands/programs/save.test.js delete mode 100644 tests/commands/queue/create.test.js delete mode 100644 tests/commands/readme/update.test.js diff --git a/tests/commands/api/update.test.js b/tests/commands/api/update.test.js deleted file mode 100644 index 0ac1313b..00000000 --- a/tests/commands/api/update.test.js +++ /dev/null @@ -1,26 +0,0 @@ -const { execSync } = require('child_process') -const fs = require('fs-extra') -const path = require('path') - -beforeEach(() => { - fs.emptyDirSync('tests/__data__/output') - - const stdout = execSync( - 'LOGS_DIR=tests/__data__/input/logs OUTPUT_DIR=tests/__data__/output/api npm run api:update', - { encoding: 'utf8' } - ) -}) - -it('can generate guides.json', () => { - expect(content('tests/__data__/output/api/guides.json')).toBe( - content('tests/__data__/expected/api/guides.json') - ) -}) - -function content(filepath) { - const data = fs.readFileSync(path.resolve(filepath), { - encoding: 'utf8' - }) - - return JSON.stringify(data) -} diff --git a/tests/commands/cluster/load.test.js b/tests/commands/cluster/load.test.js deleted file mode 100644 index cbce0c5f..00000000 --- a/tests/commands/cluster/load.test.js +++ /dev/null @@ -1,37 +0,0 @@ -const { execSync } = require('child_process') -const fs = require('fs-extra') -const path = require('path') - -beforeEach(() => { - fs.emptyDirSync('tests/__data__/output') - fs.copyFileSync('tests/__data__/input/database/queue.db', 'tests/__data__/output/queue.db') -}) - -it('can load cluster and will terminate process if programs not found', () => { - try { - execSync( - 'DB_DIR=tests/__data__/output LOGS_DIR=tests/__data__/output/logs npm run cluster:load -- --cluster-id=1 --timeout=10000', - { encoding: 'utf8' } - ) - process.exit(1) - } catch (err) { - expect(err.status).toBe(1) - expect(err.stdout.includes('Error: No programs found')).toBe(true) - expect(content('tests/__data__/output/logs/cluster/load/cluster_1.log')).toEqual( - content('tests/__data__/expected/logs/cluster/load/cluster_1.log') - ) - } -}) - -function content(filepath) { - const data = fs.readFileSync(path.resolve(filepath), { - encoding: 'utf8' - }) - - return data - .split('\n') - .filter(l => l) - .map(l => { - return JSON.parse(l) - }) -} diff --git a/tests/commands/guides/update.test.js b/tests/commands/guides/update.test.js deleted file mode 100644 index 304706eb..00000000 --- a/tests/commands/guides/update.test.js +++ /dev/null @@ -1,49 +0,0 @@ -const { execSync } = require('child_process') -const fs = require('fs-extra') -const path = require('path') -const glob = require('glob') - -beforeEach(() => { - fs.emptyDirSync('tests/__data__/output') - fs.copyFileSync( - 'tests/__data__/input/database/update-guides/programs.db', - 'tests/__data__/output/programs.db' - ) - fs.copyFileSync( - 'tests/__data__/input/database/update-guides/queue.db', - 'tests/__data__/output/queue.db' - ) -}) - -it('can generate /guides', () => { - const stdout = execSync( - 'DB_DIR=tests/__data__/output LOGS_DIR=tests/__data__/output/logs DATA_DIR=tests/__data__/input/data PUBLIC_DIR=tests/__data__/output CURR_DATE=2022-10-20 npm run guides:update', - { encoding: 'utf8' } - ) - - const uncompressed = glob - .sync('tests/__data__/expected/guides/**/*.xml') - .map(f => f.replace('tests/__data__/expected/', '')) - - uncompressed.forEach(filepath => { - expect(content(`output/${filepath}`), filepath).toBe(content(`expected/${filepath}`)) - }) - - const compressed = glob - .sync('tests/__data__/expected/guides/**/*.xml.gz') - .map(f => f.replace('tests/__data__/expected/', '')) - - compressed.forEach(filepath => { - expect(content(`output/${filepath}`), filepath).toBe(content(`expected/${filepath}`)) - }) - - expect(content('output/logs/guides/update.log')).toEqual( - content('expected/logs/guides/update.log') - ) -}) - -function content(filepath) { - return fs.readFileSync(`tests/__data__/${filepath}`, { - encoding: 'utf8' - }) -} diff --git a/tests/commands/programs/save.test.js b/tests/commands/programs/save.test.js deleted file mode 100644 index dad307c8..00000000 --- a/tests/commands/programs/save.test.js +++ /dev/null @@ -1,48 +0,0 @@ -const { execSync } = require('child_process') -const fs = require('fs-extra') -const path = require('path') - -beforeEach(() => { - fs.emptyDirSync('tests/__data__/output') - fs.copyFileSync('tests/__data__/input/database/queue.db', 'tests/__data__/output/queue.db') - - const stdout = execSync( - 'DB_DIR=tests/__data__/output LOGS_DIR=tests/__data__/input/logs npm run programs:save', - { encoding: 'utf8' } - ) -}) - -it('can save programs to database', () => { - let output = content('tests/__data__/output/programs.db') - let expected = content('tests/__data__/expected/database/programs.db') - - output = output.map(i => { - i._id = null - return i - }) - expected = expected.map(i => { - i._id = null - return i - }) - - expect(output).toEqual(expected) -}) - -it('can update queue', () => { - expect(content('tests/__data__/output/queue.db')).toEqual( - content('tests/__data__/expected/database/queue-with-errors.db') - ) -}) - -function content(filepath) { - const data = fs.readFileSync(path.resolve(filepath), { - encoding: 'utf8' - }) - - return data - .split('\n') - .filter(l => l) - .map(l => { - return JSON.parse(l) - }) -} diff --git a/tests/commands/queue/create.test.js b/tests/commands/queue/create.test.js deleted file mode 100644 index efaba63f..00000000 --- a/tests/commands/queue/create.test.js +++ /dev/null @@ -1,48 +0,0 @@ -const { execSync } = require('child_process') -const fs = require('fs-extra') -const path = require('path') - -beforeEach(() => { - fs.emptyDirSync('tests/__data__/output') - - const stdout = execSync( - 'DB_DIR=tests/__data__/output/database CHANNELS_PATH=tests/__data__/input/sites/example.com_*.channels.xml DATA_DIR=tests/__data__/input/data CURR_DATE=2022-12-29 npm run queue:create -- --max-clusters=1', - { encoding: 'utf8' } - ) -}) - -it('can create queue', () => { - let output = content('tests/__data__/output/database/queue.db') - let expected = content('tests/__data__/expected/database/create-queue/queue.db') - - output = output.map(i => { - i._id = null - return i - }) - expected = expected.map(i => { - i._id = null - return i - }) - - expect(output).toEqual( - expect.arrayContaining([ - expect.objectContaining(expected[0]), - expect.objectContaining(expected[1]), - expect.objectContaining(expected[2]), - expect.objectContaining(expected[3]) - ]) - ) -}) - -function content(filepath) { - const data = fs.readFileSync(path.resolve(filepath), { - encoding: 'utf8' - }) - - return data - .split('\n') - .filter(l => l) - .map(l => { - return JSON.parse(l) - }) -} diff --git a/tests/commands/readme/update.test.js b/tests/commands/readme/update.test.js deleted file mode 100644 index 739fa772..00000000 --- a/tests/commands/readme/update.test.js +++ /dev/null @@ -1,26 +0,0 @@ -const { execSync } = require('child_process') -const fs = require('fs-extra') -const path = require('path') - -beforeEach(() => { - fs.emptyDirSync('tests/__data__/output') - - const stdout = execSync( - 'LOGS_DIR=tests/__data__/input/logs DATA_DIR=tests/__data__/input/data npm run readme:update -- --config=tests/__data__/input/readme.json', - { encoding: 'utf8' } - ) -}) - -it('can update readme.md', () => { - expect(content('tests/__data__/output/readme.md')).toBe( - content('tests/__data__/expected/_readme.md') - ) -}) - -function content(filepath) { - const data = fs.readFileSync(path.resolve(filepath), { - encoding: 'utf8' - }) - - return JSON.stringify(data) -} From 691ba44d0caba16f1760f69abe11b220e8b3cd40 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:10:00 +0300 Subject: [PATCH 04/17] Delete unused tests/__data__ --- tests/__data__/expected/_readme.md | 108 ------ tests/__data__/expected/api/guides.json | 1 - tests/__data__/expected/api/programs.json | 1 - .../expected/database/create-queue/queue.db | 4 - tests/__data__/expected/database/programs.db | 1 - .../expected/database/queue-with-errors.db | 5 - tests/__data__/expected/database/queue.db | 2 - .../expected/logs/cluster/load/cluster_1.log | 2 - .../__data__/expected/logs/guides/update.log | 6 - tests/__data__/input/data/channels.json | 74 ---- tests/__data__/input/data/countries.json | 1 - tests/__data__/input/data/regions.json | 1 - tests/__data__/input/data/subdivisions.json | 352 ------------------ tests/__data__/input/database/programs.db | 46 --- tests/__data__/input/database/queue.db | 5 - .../input/database/update-guides/programs.db | 6 - .../input/database/update-guides/queue.db | 8 - .../input/logs/cluster/load/cluster_1.log | 2 - tests/__data__/input/logs/guides/update.log | 5 - tests/__data__/input/readme.json | 4 - tests/__data__/input/status.json | 4 - 21 files changed, 638 deletions(-) delete mode 100644 tests/__data__/expected/_readme.md delete mode 100644 tests/__data__/expected/api/guides.json delete mode 100644 tests/__data__/expected/api/programs.json delete mode 100644 tests/__data__/expected/database/create-queue/queue.db delete mode 100644 tests/__data__/expected/database/programs.db delete mode 100644 tests/__data__/expected/database/queue-with-errors.db delete mode 100644 tests/__data__/expected/database/queue.db delete mode 100644 tests/__data__/expected/logs/cluster/load/cluster_1.log delete mode 100644 tests/__data__/expected/logs/guides/update.log delete mode 100644 tests/__data__/input/data/channels.json delete mode 100644 tests/__data__/input/data/countries.json delete mode 100644 tests/__data__/input/data/regions.json delete mode 100644 tests/__data__/input/data/subdivisions.json delete mode 100644 tests/__data__/input/database/programs.db delete mode 100644 tests/__data__/input/database/queue.db delete mode 100644 tests/__data__/input/database/update-guides/programs.db delete mode 100644 tests/__data__/input/database/update-guides/queue.db delete mode 100644 tests/__data__/input/logs/cluster/load/cluster_1.log delete mode 100644 tests/__data__/input/logs/guides/update.log delete mode 100644 tests/__data__/input/readme.json delete mode 100644 tests/__data__/input/status.json diff --git a/tests/__data__/expected/_readme.md b/tests/__data__/expected/_readme.md deleted file mode 100644 index 301c6874..00000000 --- a/tests/__data__/expected/_readme.md +++ /dev/null @@ -1,108 +0,0 @@ -# EPG - -[![_update](https://github.com/iptv-org/epg/actions/workflows/_update.yml/badge.svg)](https://github.com/iptv-org/epg/actions/workflows/_update.yml) - -EPG (Electronic Program Guide) for thousands of TV channels collected from different sources. - -## Table of contents - -- 🚀 [How to use?](#how-to-use) -- 🗓 [Guides](#guides) -- 📺 [Playlists](#playlists) -- 🗄 [Database](#database) -- 👨‍💻 [API](#api) -- 📚 [Resources](#resources) -- 💬 [Discussions](#discussions) -- 🛠 [Contribution](#contribution) -- © [License](#license) - -## How to use? - -To load a program guide, all you need to do is copy the link to one or more of the guides from the list below and paste it into your favorite player. - -You can also find the link to the guide by the name of the channel via https://iptv-org.github.io. - -## Guides - -
-Expand - - -### Danish - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
allente.se1https://iptv-org.github.io/epg/guides/da/allente.se.xmlallente.se
- -### English - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
sky.com1https://iptv-org.github.io/epg/guides/en/sky.com.xmlsky.com
virginmedia.com1https://iptv-org.github.io/epg/guides/en/virginmedia.com.xmlvirginmedia.com
- -### French - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
sky.com2https://iptv-org.github.io/epg/guides/fr/sky.com.xmlsky.com
- - - -
-
- -To load the compressed version of the guide, just change the extension from `.xml` to `.xml.gz`. - -## Playlists - -Playlists with already linked guides can be found in the [iptv-org/iptv](https://github.com/iptv-org/iptv) repository. - -## Database - -All channel data is taken from the [iptv-org/database](https://github.com/iptv-org/database) repository. If you find any errors please open a new [issue](https://github.com/iptv-org/database/issues) there. - -## API - -The API documentation can be found in the [iptv-org/api](https://github.com/iptv-org/api) repository. - -## Resources - -Links to other useful IPTV-related resources can be found in the [iptv-org/awesome-iptv](https://github.com/iptv-org/awesome-iptv) repository. - -## Discussions - -If you have a question or an idea, you can post it in the [Discussions](https://github.com/orgs/iptv-org/discussions) tab. - -## Contribution - -Please make sure to read the [Contributing Guide](https://github.com/iptv-org/epg/blob/master/CONTRIBUTING.md) before sending [issue](https://github.com/iptv-org/epg/issues) or a [pull request](https://github.com/iptv-org/epg/pulls). - -And thank you to everyone who has already contributed! - -### Backers - - - -### Contributors - - - -## License - -[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](LICENSE) diff --git a/tests/__data__/expected/api/guides.json b/tests/__data__/expected/api/guides.json deleted file mode 100644 index 458eaf5e..00000000 --- a/tests/__data__/expected/api/guides.json +++ /dev/null @@ -1 +0,0 @@ -[{"channel":"6eren.dk","site":"allente.se","lang":"da","days":2,"url":"https://iptv-org.github.io/epg/guides/da/allente.se.xml"},{"channel":"BBCNews.uk","site":"virginmedia.com","lang":"en","days":2,"url":"https://iptv-org.github.io/epg/guides/en/virginmedia.com.xml"},{"channel":"BBCNews.uk","site":"sky.com","lang":"fr","days":2,"url":"https://iptv-org.github.io/epg/guides/fr/sky.com.xml"},{"channel":"BBCNews.uk","site":"sky.com","lang":"en","days":2,"url":"https://iptv-org.github.io/epg/guides/en/sky.com.xml"},{"channel":"CNN.us","site":"sky.com","lang":"fr","days":2,"url":"https://iptv-org.github.io/epg/guides/fr/sky.com.xml"}] \ No newline at end of file diff --git a/tests/__data__/expected/api/programs.json b/tests/__data__/expected/api/programs.json deleted file mode 100644 index 24ce6a2a..00000000 --- a/tests/__data__/expected/api/programs.json +++ /dev/null @@ -1 +0,0 @@ -[{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"CNN Newsroom Sunday","desc":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","categories":["Category1","Category2"],"season":null,"episode":null,"image":null,"start":1641772800,"stop":1641776400},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Fareed Zakaria GPS","desc":"Интервью с главными игроками мировой политики.","categories":["Category1"],"season":null,"episode":null,"image":null,"start":1641776400,"stop":1641780000},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"African Voices Changemakers. 114-я серия","desc":"114-я серия. Африка сегодня - люди, новости, события.","categories":[],"season":null,"episode":null,"image":null,"start":1641780000,"stop":1641781800},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Marketplace Africa. 549-я серия","desc":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","categories":[],"season":null,"episode":null,"image":null,"start":1641781800,"stop":1641782700},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Marketplace Africa. 548-я серия","desc":"548-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","categories":[],"season":null,"episode":null,"image":null,"start":1641782700,"stop":1641783600},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"TBD","desc":"Информационно-познавательный проект CNN.","categories":[],"season":null,"episode":null,"image":null,"start":1641783600,"stop":1641785400},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Inside Africa. 586-я серия","desc":"586-я серия. Своеобразное \"путешествие\" по Африке - почувствуйте все разнообразие культур различных стран и регионов континента.","categories":[],"season":null,"episode":null,"image":null,"start":1641785400,"stop":1641787200},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"CNN Newsroom with Michael Holmes","desc":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","categories":[],"season":null,"episode":null,"image":null,"start":1641787200,"stop":1641789900},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"World Sport","desc":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","categories":[],"season":null,"episode":null,"image":null,"start":1641789900,"stop":1641790800},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"CNN Newsroom with Michael Holmes","desc":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","categories":[],"season":null,"episode":null,"image":null,"start":1641790800,"stop":1641794400},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"CNN Newsroom with Robyn Curnow","desc":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","categories":[],"season":null,"episode":null,"image":null,"start":1641794400,"stop":1641797100},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"World Sport","desc":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","categories":[],"season":null,"episode":null,"image":null,"start":1641797100,"stop":1641798000},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"CNN Newsroom with Rosemary Church","desc":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","categories":[],"season":null,"episode":null,"image":null,"start":1641798000,"stop":1641805200},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Early Start","desc":"Новости дня с Кристиной Романс и Дейвом Бриггсом.","categories":[],"season":null,"episode":null,"image":null,"start":1641805200,"stop":1641808800},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"New Day","desc":"Свежий обзор событий в стране и мире.","categories":[],"season":null,"episode":null,"image":null,"start":1641808800,"stop":1641817800},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"World Sport","desc":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","categories":[],"season":null,"episode":null,"image":null,"start":1641817800,"stop":1641819600},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"First Move with Julia Chatterley","desc":"Несколько больших историй, связанных с открытием рынков в США.","categories":[],"season":null,"episode":null,"image":null,"start":1641819600,"stop":1641823200},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Connect the World","desc":"Актуальная мировая информация с разных континентов.","categories":[],"season":null,"episode":null,"image":null,"start":1641823200,"stop":1641825900},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"World Sport","desc":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","categories":[],"season":null,"episode":null,"image":null,"start":1641825900,"stop":1641826800},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Connect the World","desc":"Актуальная мировая информация с разных континентов.","categories":[],"season":null,"episode":null,"image":null,"start":1641826800,"stop":1641830400},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"One World with Zain Asher","desc":"Освещаются важные новости с каждого континента, от политики и текущих дел до социальных вопросов и многого другого.","categories":[],"season":null,"episode":null,"image":null,"start":1641830400,"stop":1641833100},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Marketplace Africa. 549-я серия","desc":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","categories":[],"season":null,"episode":null,"image":null,"start":1641833100,"stop":1641834000},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Amanpour","desc":"Сводка новостей от знаменитой ведущей канала CNN.","categories":[],"season":null,"episode":null,"image":null,"start":1641834000,"stop":1641837600},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Hala Gorani Tonight","desc":"Используя свой 25-летний журналистский опыт, Хала Горани будет освещать ключевые события в картине дня посредством диалога с гостями и экспертами-аналитиками.","categories":[],"season":null,"episode":null,"image":null,"start":1641837600,"stop":1641841200},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Quest Means Business","desc":"Ричард Квест возглавляет группу экспертов и корреспондентов, чтобы предоставить актуальные факты, цифры и анализ из делового мира.","categories":[],"season":null,"episode":null,"image":null,"start":1641841200,"stop":1641843900},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Connecting Africa. 114-я серия","desc":"114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.","categories":[],"season":null,"episode":null,"image":null,"start":1641843900,"stop":1641844800},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"The Lead with Jake Tapper","desc":"Оперативная сводка новостей страны и мира.","categories":[],"season":null,"episode":null,"image":null,"start":1641844800,"stop":1641848400},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"The Global Brief with Bianca Nobilo","desc":"Global Brief с Бьянкой Нобило проницательно исследует меняющийся мир для меняющейся аудитории, обеспечивая непревзойденную глубину и качество для занятых зрителей в быстро меняющемся мире.","categories":[],"season":null,"episode":null,"image":null,"start":1641848400,"stop":1641850200},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"World Sport","desc":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","categories":[],"season":null,"episode":null,"image":null,"start":1641850200,"stop":1641852000},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"The Situation Room with Wolf Blitzer","desc":"Командный центр новостей, политики и неординарных репортажей со всего мира.","categories":[],"season":null,"episode":null,"image":null,"start":1641852000,"stop":1641855600},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Erin Burnett OutFront","desc":"Обсуждение самых важных мировых тем в эфире канала CNN.","categories":[],"season":null,"episode":null,"image":null,"start":1641855600,"stop":1641859200},{"channel":"CNNInternationalEurope.us","site":"chaines-tv.orange.fr","lang":"ru","title":"Anderson Cooper 360","desc":"Уникальный взгляд Андерсона Купера на главные события мира.","categories":[],"season":null,"episode":null,"image":null,"start":1641859200,"stop":1641862800},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Fatman","desc":null,"categories":[],"season":9,"episode":257,"image":null,"start":1641761700,"stop":1641767700},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Motherless Brooklyn","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641767700,"stop":1641776100},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"The Water Diviner","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641776100,"stop":1641782700},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Outbreak","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641782700,"stop":1641790200},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Paranoia","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641790200,"stop":1641796500},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Beyond The Line","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641796500,"stop":1641801300},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Backdraft","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641801300,"stop":1641809400},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Mafia","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641809400,"stop":1641814500},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"12 Strong","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641814500,"stop":1641822300},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Robin Hood","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641822300,"stop":1641829200},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"The Scorpion King","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641829200,"stop":1641834780},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"The Last Witch Hunter","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641834780,"stop":1641841200},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Force Of Nature","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641841200,"stop":1641847200},{"channel":"MNetMovies2.za","site":"dstv.com","lang":"en","title":"Bad Boys For Life","desc":null,"categories":[],"season":null,"episode":null,"image":null,"start":1641847200,"stop":1641850800}] \ No newline at end of file diff --git a/tests/__data__/expected/database/create-queue/queue.db b/tests/__data__/expected/database/create-queue/queue.db deleted file mode 100644 index 154e8d17..00000000 --- a/tests/__data__/expected/database/create-queue/queue.db +++ /dev/null @@ -1,4 +0,0 @@ -{"channel":{"id":"CNNInternationalEurope.us","name":"CNN International","site":"example.com","site_id":"140","lang":"en","logo":"https://i.imgur.com/2BXCg0x.jpg","url":"https://example.com"},"date":"2022-12-29T00:00:00.000Z","configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"_id":"z8NuUrwLzFmvwVaN"} -{"channel":{"id":"CNNInternationalEurope.us","name":"CNN International","site":"example.com","site_id":"140","lang":"en","logo":"https://i.imgur.com/2BXCg0x.jpg","url":"https://example.com"},"date":"2022-12-30T00:00:00.000Z","configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"_id":"VbOAfybHJmi9fVhI"} -{"channel":{"id":"CNNInternationalEurope.us","name":"CNN International","site":"example.com","site_id":"140","lang":"ru","logo":"https://i.imgur.com/2BXCg0x.jpg","url":"https://example.com"},"date":"2022-12-29T00:00:00.000Z","configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"_id":"Gv8kvgVzGQH345DI"} -{"channel":{"id":"CNNInternationalEurope.us","name":"CNN International","site":"example.com","site_id":"140","lang":"ru","logo":"https://i.imgur.com/2BXCg0x.jpg","url":"https://example.com"},"date":"2022-12-30T00:00:00.000Z","configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"_id":"qk1kIFkVtbBXLsIp"} diff --git a/tests/__data__/expected/database/programs.db b/tests/__data__/expected/database/programs.db deleted file mode 100644 index 7570f0f8..00000000 --- a/tests/__data__/expected/database/programs.db +++ /dev/null @@ -1 +0,0 @@ -{"titles":[{"lang":"en","value":"InfoNeu "}],"actors":[],"adapters":[],"commentators":[],"composers":[],"date":null,"directors":[],"editors":[],"guests":[],"presenters":[],"producers":[],"sub_titles":[],"urls":[],"writers":[],"descriptions":[],"categories":[],"episodeNumbers":[],"icon":{"src":""},"ratings":[],"channel":"CNNInternationalEurope.us","start":1641711600000,"stop":1641715200000,"site": "chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"6AzYe7lqcSN05ZUq"} diff --git a/tests/__data__/expected/database/queue-with-errors.db b/tests/__data__/expected/database/queue-with-errors.db deleted file mode 100644 index 3ea968dc..00000000 --- a/tests/__data__/expected/database/queue-with-errors.db +++ /dev/null @@ -1,5 +0,0 @@ -{"channel":{"lang":"en","id":"BravoEast.us","name":"Bravo East","site_id":"237","logo":"","site":"directv.com","url":"https://directv.com"},"configPath":"sites/directv.com/directv.com.config.js","cluster_id":84,"date": "2022-01-21T00:00:00Z","error":"Invalid header value char","_id":"00AluKCrCnfgrl8W"} -{"channel":{"lang":"fr","id":"CNNInternationalEurope.us","name":"CNN International","site_id":"53","logo":"","site":"chaines-tv.orange.fr","url":"https://chaines-tv.orange.fr"},"configPath":"tests/__data__/input/sites/example.com.config.js","cluster_id":1,"date": "2022-01-21T00:00:00Z","error":null,"_id":"0Wefq0oMR3feCcuY"} -{"channel":{"lang":"ru","id":"CNNInternationalEurope.us","name":"CNN International","site_id":"140","logo":"","site":"magticom.ge","url":"https://magticom.ge"},"configPath":"tests/__data__/input/sites/example.com.config.js","cluster_id":1,"date": "2022-01-21T00:00:00Z","error":"Invalid header value char","_id":"1XzrxNkSF2AQNBrT"} -{"channel":{"lang":"ru","id":"Perviykanal.ru","name":"Perviy kanal","site_id":"1","logo":"","site":"yandex.ru","url":"https://yandex.ru"},"configPath":"sites/yandex.ru/yandex.ru.config.js","error":"Some error","cluster_id":4,"date":"2022-01-21T00:00:00Z","_id":"1lnhXpN7g0ER5Xw5"} -{"channel":{"lang":"en","id":"MNetMovies2.za","name":"M-Net Movies 2","site_id":"404a052b-3dea-4cac-a19c-de9a7d6f191d#MAP","logo":"","site":"dstv.com","url":"https://dstv.com"},"configPath":"sites/dstv.com/dstv.com.config.js","cluster_id":120,"date": "2022-01-21T00:00:00Z","error":null,"_id":"1lnhXpN7g0ER5XwN"} diff --git a/tests/__data__/expected/database/queue.db b/tests/__data__/expected/database/queue.db deleted file mode 100644 index 52bbe3f3..00000000 --- a/tests/__data__/expected/database/queue.db +++ /dev/null @@ -1,2 +0,0 @@ -{"channel":{"lang":"ru","id":"CNNInternationalEurope.us","name":"CNN International","site_id":"140","site":"example.com","logo":"","url":"https://example.com"},"date":"2022-02-03T00:00:00.000Z","configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"_id":"vOpwztzvJ5pFSVws"} -{"channel":{"lang":"ru","id":"CNNInternationalEurope.us","name":"CNN International","site_id":"140","site":"example.com","logo":"","url":"https://example.com"},"date":"2022-02-04T00:00:00.000Z","configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"_id":"sP2A0zQSOoVg0BS1"} diff --git a/tests/__data__/expected/logs/cluster/load/cluster_1.log b/tests/__data__/expected/logs/cluster/load/cluster_1.log deleted file mode 100644 index feb81b42..00000000 --- a/tests/__data__/expected/logs/cluster/load/cluster_1.log +++ /dev/null @@ -1,2 +0,0 @@ -{"_qid":"0Wefq0oMR3feCcuY","programs":[],"error":null} -{"_qid":"1XzrxNkSF2AQNBrT","programs":[],"error":null} diff --git a/tests/__data__/expected/logs/guides/update.log b/tests/__data__/expected/logs/guides/update.log deleted file mode 100644 index ed53a3be..00000000 --- a/tests/__data__/expected/logs/guides/update.log +++ /dev/null @@ -1,6 +0,0 @@ -{"site":"allente.se","lang":"da","days":2,"channel":"6eren.dk","filename":"da/allente.se"} -{"site":"directv.com","lang":"en","days":2,"channel":"BravoEast.us","filename":"en/directv.com"} -{"site":"sky.com","lang":"en","days":2,"channel":"BBCNews.uk","filename":"en/sky.com"} -{"site":"virginmedia.com","lang":"en","days":2,"channel":"BBCNews.uk","filename":"en/virginmedia.com"} -{"site":"sky.com","lang":"fr","days":2,"channel":"BBCNews.uk","filename":"fr/sky.com"} -{"site":"sky.com","lang":"fr","days":2,"channel":"CNN.us","filename":"fr/sky.com"} \ No newline at end of file diff --git a/tests/__data__/input/data/channels.json b/tests/__data__/input/data/channels.json deleted file mode 100644 index 28255c4a..00000000 --- a/tests/__data__/input/data/channels.json +++ /dev/null @@ -1,74 +0,0 @@ -[ - { - "id": "BravoEast.us", - "name": "Bravo East", - "network": null, - "country": "US", - "subdivision": null, - "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], - "categories": [], - "is_nsfw": false, - "logo": "https://www.directv.com/images/logos/channels/dark/large/579.png" - }, - { - "id": "CNNInternationalEurope.us", - "name": "CNN International Europe", - "network": null, - "country": "US", - "subdivision": null, - "city": null, - "broadcast_area": [ - "r/EUR" - ], - "languages": [ - "eng" - ], - "categories": [ - "news" - ], - "is_nsfw": false, - "logo": "https://i.imgur.com/2BXCg0x.jpg" - }, - { - "id": "MNetMovies2.za", - "name": "M-Net Movies 2", - "network": null, - "country": "ZA", - "subdivision": null, - "city": null, - "broadcast_area": [ - "c/ZA" - ], - "languages": [ - "afr" - ], - "categories": [], - "is_nsfw": false, - "logo": "https://rndcdn.dstv.com/dstvcms/2020/08/31/M-Net_Movies_2_Logo_4-3_lightbackground_xlrg.png" - }, - {"id":"6eren.dk","name":"6'eren","alt_names":[],"network":null,"owners":["Warner Bros. Discovery EMEA"],"country":"DK","subdivision":null,"city":null,"broadcast_area":["c/DK"],"languages":["dan"],"categories":[],"is_nsfw":false,"launched":"2009-01-01","closed":null,"replaced_by":null,"website":"http://www.6-eren.dk/","logo":"https://upload.wikimedia.org/wikipedia/commons/6/64/6%27eren_2015.png"}, - {"id":"BBCNews.uk","name":"BBC News","alt_names":[],"network":null,"owners":[],"country":"UK","subdivision":null,"city":null,"broadcast_area":["c/UK"],"languages":["eng"],"categories":["news"],"is_nsfw":false,"launched":null,"closed":null,"replaced_by":null,"website":"http://news.bbc.co.uk/","logo":"https://i.imgur.com/rPzH88J.png"}, - { - "id": "CNN.us", - "name": "CNN", - "network": null, - "country": "US", - "subdivision": null, - "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], - "categories": [], - "is_nsfw": false, - "logo": "https://www.directv.com/images/logos/channels/dark/large/579.png" - } -] \ No newline at end of file diff --git a/tests/__data__/input/data/countries.json b/tests/__data__/input/data/countries.json deleted file mode 100644 index 1b474dde..00000000 --- a/tests/__data__/input/data/countries.json +++ /dev/null @@ -1 +0,0 @@ -[{"name":"Afghanistan","code":"AF","languages":["prs","pus","tuk"],"flag":"🇦🇫"},{"name":"Albania","code":"AL","languages":["sqi"],"flag":"🇦🇱"},{"name":"Algeria","code":"DZ","languages":["ara"],"flag":"🇩🇿"},{"name":"American Samoa","code":"AS","languages":["eng","smo"],"flag":"🇦🇸"},{"name":"Andorra","code":"AD","languages":["cat"],"flag":"🇦🇩"},{"name":"Angola","code":"AO","languages":["por"],"flag":"🇦🇴"},{"name":"Anguilla","code":"AI","languages":["eng"],"flag":"🇦🇮"},{"name":"Antarctica","code":"AQ","languages":["eng"],"flag":"🇦🇶"},{"name":"Antigua and Barbuda","code":"AG","languages":["eng"],"flag":"🇦🇬"},{"name":"Argentina","code":"AR","languages":["grn","spa"],"flag":"🇦🇷"},{"name":"Armenia","code":"AM","languages":["hye"],"flag":"🇦🇲"},{"name":"Aruba","code":"AW","languages":["nld","pap"],"flag":"🇦🇼"},{"name":"Australia","code":"AU","languages":["eng"],"flag":"🇦🇺"},{"name":"Austria","code":"AT","languages":["bar"],"flag":"🇦🇹"},{"name":"Azerbaijan","code":"AZ","languages":["aze","rus"],"flag":"🇦🇿"},{"name":"Bahamas","code":"BS","languages":["eng"],"flag":"🇧🇸"},{"name":"Bahrain","code":"BH","languages":["ara"],"flag":"🇧🇭"},{"name":"Bangladesh","code":"BD","languages":["ben"],"flag":"🇧🇩"},{"name":"Barbados","code":"BB","languages":["eng"],"flag":"🇧🇧"},{"name":"Belarus","code":"BY","languages":["bel","rus"],"flag":"🇧🇾"},{"name":"Belgium","code":"BE","languages":["deu","fra","nld"],"flag":"🇧🇪"},{"name":"Belize","code":"BZ","languages":["bjz","eng","spa"],"flag":"🇧🇿"},{"name":"Benin","code":"BJ","languages":["fra"],"flag":"🇧🇯"},{"name":"Bermuda","code":"BM","languages":["eng"],"flag":"🇧🇲"},{"name":"Bhutan","code":"BT","languages":["dzo"],"flag":"🇧🇹"},{"name":"Bolivia","code":"BO","languages":["aym","grn","que","spa"],"flag":"🇧🇴"},{"name":"Bonaire","code":"BQ","languages":["eng","nld","pap"],"flag":"🇧🇶"},{"name":"Bosnia and Herzegovina","code":"BA","languages":["bos","hrv","srp"],"flag":"🇧🇦"},{"name":"Botswana","code":"BW","languages":["eng","tsn"],"flag":"🇧🇼"},{"name":"Bouvet Island","code":"BV","languages":["nor"],"flag":"🇧🇻"},{"name":"Brazil","code":"BR","languages":["por"],"flag":"🇧🇷"},{"name":"British Indian Ocean Territory","code":"IO","languages":["eng"],"flag":"🇮🇴"},{"name":"British Virgin Islands","code":"VG","languages":["eng"],"flag":"🇻🇬"},{"name":"Brunei","code":"BN","languages":["msa"],"flag":"🇧🇳"},{"name":"Bulgaria","code":"BG","languages":["bul"],"flag":"🇧🇬"},{"name":"Burkina Faso","code":"BF","languages":["fra"],"flag":"🇧🇫"},{"name":"Burundi","code":"BI","languages":["fra","run"],"flag":"🇧🇮"},{"name":"Cambodia","code":"KH","languages":["khm"],"flag":"🇰🇭"},{"name":"Cameroon","code":"CM","languages":["eng","fra"],"flag":"🇨🇲"},{"name":"Canada","code":"CA","languages":["eng","fra"],"flag":"🇨🇦"},{"name":"Cape Verde","code":"CV","languages":["por"],"flag":"🇨🇻"},{"name":"Cayman Islands","code":"KY","languages":["eng"],"flag":"🇰🇾"},{"name":"Central African Republic","code":"CF","languages":["fra","sag"],"flag":"🇨🇫"},{"name":"Chad","code":"TD","languages":["ara","fra"],"flag":"🇹🇩"},{"name":"Chile","code":"CL","languages":["spa"],"flag":"🇨🇱"},{"name":"China","code":"CN","languages":["zho"],"flag":"🇨🇳"},{"name":"Christmas Island","code":"CX","languages":["eng"],"flag":"🇨🇽"},{"name":"Cocos (Keeling) Islands","code":"CC","languages":["eng"],"flag":"🇨🇨"},{"name":"Colombia","code":"CO","languages":["spa"],"flag":"🇨🇴"},{"name":"Comoros","code":"KM","languages":["ara","fra","zdj"],"flag":"🇰🇲"},{"name":"Cook Islands","code":"CK","languages":["eng","rar"],"flag":"🇨🇰"},{"name":"Costa Rica","code":"CR","languages":["spa"],"flag":"🇨🇷"},{"name":"Croatia","code":"HR","languages":["hrv"],"flag":"🇭🇷"},{"name":"Cuba","code":"CU","languages":["spa"],"flag":"🇨🇺"},{"name":"Curacao","code":"CW","languages":["eng","nld","pap"],"flag":"🇨🇼"},{"name":"Cyprus","code":"CY","languages":["ell","tur"],"flag":"🇨🇾"},{"name":"Czech Republic","code":"CZ","languages":["ces","slk"],"flag":"🇨🇿"},{"name":"Democratic Republic of the Congo","code":"CD","languages":["fra","kon","lin","lua","swa"],"flag":"🇨🇩"},{"name":"Denmark","code":"DK","languages":["dan"],"flag":"🇩🇰"},{"name":"Djibouti","code":"DJ","languages":["ara","fra"],"flag":"🇩🇯"},{"name":"Dominica","code":"DM","languages":["eng"],"flag":"🇩🇲"},{"name":"Dominican Republic","code":"DO","languages":["spa"],"flag":"🇩🇴"},{"name":"East Timor","code":"TL","languages":["por","tet"],"flag":"🇹🇱"},{"name":"Ecuador","code":"EC","languages":["spa"],"flag":"🇪🇨"},{"name":"Egypt","code":"EG","languages":["ara"],"flag":"🇪🇬"},{"name":"El Salvador","code":"SV","languages":["spa"],"flag":"🇸🇻"},{"name":"Equatorial Guinea","code":"GQ","languages":["fra","por","spa"],"flag":"🇬🇶"},{"name":"Eritrea","code":"ER","languages":["ara","eng","tir"],"flag":"🇪🇷"},{"name":"Estonia","code":"EE","languages":["est"],"flag":"🇪🇪"},{"name":"Ethiopia","code":"ET","languages":["amh"],"flag":"🇪🇹"},{"name":"Falkland Islands","code":"FK","languages":["eng"],"flag":"🇫🇰"},{"name":"Faroe Islands","code":"FO","languages":["dan","fao"],"flag":"🇫🇴"},{"name":"Fiji","code":"FJ","languages":["eng","fij","hif"],"flag":"🇫🇯"},{"name":"Finland","code":"FI","languages":["fin","swe"],"flag":"🇫🇮"},{"name":"France","code":"FR","languages":["fra"],"flag":"🇫🇷"},{"name":"French Guiana","code":"GF","languages":["fra"],"flag":"🇬🇫"},{"name":"French Polynesia","code":"PF","languages":["fra"],"flag":"🇵🇫"},{"name":"French Southern Territories","code":"TF","languages":["fra"],"flag":"🇹🇫"},{"name":"Gabon","code":"GA","languages":["fra"],"flag":"🇬🇦"},{"name":"Gambia","code":"GM","languages":["eng"],"flag":"🇬🇲"},{"name":"Georgia","code":"GE","languages":["kat"],"flag":"🇬🇪"},{"name":"Germany","code":"DE","languages":["deu"],"flag":"🇩🇪"},{"name":"Ghana","code":"GH","languages":["eng"],"flag":"🇬🇭"},{"name":"Gibraltar","code":"GI","languages":["eng"],"flag":"🇬🇮"},{"name":"Greece","code":"GR","languages":["ell"],"flag":"🇬🇷"},{"name":"Greenland","code":"GL","languages":["kal"],"flag":"🇬🇱"},{"name":"Grenada","code":"GD","languages":["eng"],"flag":"🇬🇩"},{"name":"Guadeloupe","code":"GP","languages":["fra"],"flag":"🇬🇵"},{"name":"Guam","code":"GU","languages":["cha","eng","spa"],"flag":"🇬🇺"},{"name":"Guatemala","code":"GT","languages":["spa"],"flag":"🇬🇹"},{"name":"Guernsey","code":"GG","languages":["eng","fra","nfr"],"flag":"🇬🇬"},{"name":"Guinea","code":"GN","languages":["fra"],"flag":"🇬🇳"},{"name":"Guinea-Bissau","code":"GW","languages":["por","pov"],"flag":"🇬🇼"},{"name":"Guyana","code":"GY","languages":["eng"],"flag":"🇬🇾"},{"name":"Haiti","code":"HT","languages":["fra","hat"],"flag":"🇭🇹"},{"name":"Heard Island and McDonald Islands","code":"HM","languages":["eng"],"flag":"🇭🇲"},{"name":"Honduras","code":"HN","languages":["spa"],"flag":"🇭🇳"},{"name":"Hong Kong","code":"HK","languages":["eng","zho"],"flag":"🇭🇰"},{"name":"Hungary","code":"HU","languages":["hun"],"flag":"🇭🇺"},{"name":"Iceland","code":"IS","languages":["isl"],"flag":"🇮🇸"},{"name":"India","code":"IN","languages":["eng","hin","tam"],"flag":"🇮🇳"},{"name":"Indonesia","code":"ID","languages":["ind"],"flag":"🇮🇩"},{"name":"Iran","code":"IR","languages":["fas"],"flag":"🇮🇷"},{"name":"Iraq","code":"IQ","languages":["ara","arc","ckb"],"flag":"🇮🇶"},{"name":"Ireland","code":"IE","languages":["eng","gle"],"flag":"🇮🇪"},{"name":"Isle of Man","code":"IM","languages":["eng","glv"],"flag":"🇮🇲"},{"name":"Israel","code":"IL","languages":["ara","heb"],"flag":"🇮🇱"},{"name":"Italy","code":"IT","languages":["ita"],"flag":"🇮🇹"},{"name":"Ivory Coast","code":"CI","languages":["fra"],"flag":"🇨🇮"},{"name":"Jamaica","code":"JM","languages":["eng","jam"],"flag":"🇯🇲"},{"name":"Japan","code":"JP","languages":["jpn"],"flag":"🇯🇵"},{"name":"Jersey","code":"JE","languages":["eng","fra","nrf"],"flag":"🇯🇪"},{"name":"Jordan","code":"JO","languages":["ara"],"flag":"🇯🇴"},{"name":"Kazakhstan","code":"KZ","languages":["kaz","rus"],"flag":"🇰🇿"},{"name":"Kenya","code":"KE","languages":["eng","swa"],"flag":"🇰🇪"},{"name":"Kiribati","code":"KI","languages":["eng","gil"],"flag":"🇰🇮"},{"name":"Kosovo","code":"XK","languages":["sqi","srp"],"flag":"🇽🇰"},{"name":"Kuwait","code":"KW","languages":["ara"],"flag":"🇰🇼"},{"name":"Kyrgyzstan","code":"KG","languages":["kir","rus"],"flag":"🇰🇬"},{"name":"Laos","code":"LA","languages":["lao"],"flag":"🇱🇦"},{"name":"Latvia","code":"LV","languages":["lav"],"flag":"🇱🇻"},{"name":"Lebanon","code":"LB","languages":["ara","fra"],"flag":"🇱🇧"},{"name":"Lesotho","code":"LS","languages":["eng","sot"],"flag":"🇱🇸"},{"name":"Liberia","code":"LR","languages":["eng"],"flag":"🇱🇷"},{"name":"Libya","code":"LY","languages":["ara"],"flag":"🇱🇾"},{"name":"Liechtenstein","code":"LI","languages":["deu"],"flag":"🇱🇮"},{"name":"Lithuania","code":"LT","languages":["lit"],"flag":"🇱🇹"},{"name":"Luxembourg","code":"LU","languages":["deu","fra","ltz"],"flag":"🇱🇺"},{"name":"Macao","code":"MO","languages":["por","zho"],"flag":"🇲🇴"},{"name":"Madagascar","code":"MG","languages":["fra","mlg"],"flag":"🇲🇬"},{"name":"Malawi","code":"MW","languages":["eng","nya"],"flag":"🇲🇼"},{"name":"Malaysia","code":"MY","languages":["eng","msa"],"flag":"🇲🇾"},{"name":"Maldives","code":"MV","languages":["div"],"flag":"🇲🇻"},{"name":"Mali","code":"ML","languages":["fra"],"flag":"🇲🇱"},{"name":"Malta","code":"MT","languages":["eng","mlt"],"flag":"🇲🇹"},{"name":"Marshall Islands","code":"MH","languages":["eng","mah"],"flag":"🇲🇭"},{"name":"Martinique","code":"MQ","languages":["fra"],"flag":"🇲🇶"},{"name":"Mauritania","code":"MR","languages":["ara"],"flag":"🇲🇷"},{"name":"Mauritius","code":"MU","languages":["eng","fra","mfe"],"flag":"🇲🇺"},{"name":"Mayotte","code":"YT","languages":["fra"],"flag":"🇾🇹"},{"name":"Mexico","code":"MX","languages":["spa"],"flag":"🇲🇽"},{"name":"Micronesia","code":"FM","languages":["eng"],"flag":"🇫🇲"},{"name":"Moldova","code":"MD","languages":["ron"],"flag":"🇲🇩"},{"name":"Monaco","code":"MC","languages":["fra"],"flag":"🇲🇨"},{"name":"Mongolia","code":"MN","languages":["mon"],"flag":"🇲🇳"},{"name":"Montenegro","code":"ME","languages":["cnr"],"flag":"🇲🇪"},{"name":"Montserrat","code":"MS","languages":["eng"],"flag":"🇲🇸"},{"name":"Morocco","code":"MA","languages":["ara","zgh"],"flag":"🇲🇦"},{"name":"Mozambique","code":"MZ","languages":["por"],"flag":"🇲🇿"},{"name":"Myanmar (Burma)","code":"MM","languages":["mya"],"flag":"🇲🇲"},{"name":"Namibia","code":"NA","languages":["afr","deu","eng","her","hgm","kwn","loz","ndo","tsn"],"flag":"🇳🇦"},{"name":"Nauru","code":"NR","languages":["eng","nau"],"flag":"🇳🇷"},{"name":"Nepal","code":"NP","languages":["nep"],"flag":"🇳🇵"},{"name":"Netherlands","code":"NL","languages":["nld"],"flag":"🇳🇱"},{"name":"New Caledonia","code":"NC","languages":["fra"],"flag":"🇳🇨"},{"name":"New Zealand","code":"NZ","languages":["eng","mri","nzs"],"flag":"🇳🇿"},{"name":"Nicaragua","code":"NI","languages":["spa"],"flag":"🇳🇮"},{"name":"Niger","code":"NE","languages":["fra"],"flag":"🇳🇪"},{"name":"Nigeria","code":"NG","languages":["eng"],"flag":"🇳🇬"},{"name":"Niue","code":"NU","languages":["eng","niu"],"flag":"🇳🇺"},{"name":"Norfolk Island","code":"NF","languages":["eng","pih"],"flag":"🇳🇫"},{"name":"North Korea","code":"KP","languages":["kor"],"flag":"🇰🇵"},{"name":"North Macedonia","code":"MK","languages":["mkd"],"flag":"🇲🇰"},{"name":"Northern Mariana Islands","code":"MP","languages":["cal","cha","eng"],"flag":"🇲🇵"},{"name":"Norway","code":"NO","languages":["nno","nob","sme","smj","sma"],"flag":"🇳🇴"},{"name":"Oman","code":"OM","languages":["ara"],"flag":"🇴🇲"},{"name":"Pakistan","code":"PK","languages":["eng","urd"],"flag":"🇵🇰"},{"name":"Palau","code":"PW","languages":["eng","pau"],"flag":"🇵🇼"},{"name":"Palestine","code":"PS","languages":["ara"],"flag":"🇵🇸"},{"name":"Panama","code":"PA","languages":["spa"],"flag":"🇵🇦"},{"name":"Papua New Guinea","code":"PG","languages":["eng","hmo","tpi"],"flag":"🇵🇬"},{"name":"Paraguay","code":"PY","languages":["grn","spa"],"flag":"🇵🇾"},{"name":"Peru","code":"PE","languages":["aym","que","spa"],"flag":"🇵🇪"},{"name":"Philippines","code":"PH","languages":["eng","fil"],"flag":"🇵🇭"},{"name":"Pitcairn Islands","code":"PN","languages":["eng"],"flag":"🇵🇳"},{"name":"Poland","code":"PL","languages":["pol"],"flag":"🇵🇱"},{"name":"Portugal","code":"PT","languages":["por"],"flag":"🇵🇹"},{"name":"Puerto Rico","code":"PR","languages":["eng","spa"],"flag":"🇵🇷"},{"name":"Qatar","code":"QA","languages":["ara"],"flag":"🇶🇦"},{"name":"Republic of the Congo","code":"CG","languages":["fra","kon","lin"],"flag":"🇨🇬"},{"name":"Romania","code":"RO","languages":["ron"],"flag":"🇷🇴"},{"name":"Russia","code":"RU","languages":["rus"],"flag":"🇷🇺"},{"name":"Rwanda","code":"RW","languages":["eng","fra","kin"],"flag":"🇷🇼"},{"name":"Réunion","code":"RE","languages":["fra"],"flag":"🇷🇪"},{"name":"Saint Barthélemy","code":"BL","languages":["fra"],"flag":"🇧🇱"},{"name":"Saint Helena","code":"SH","languages":["eng"],"flag":"🇸🇭"},{"name":"Saint Kitts and Nevis","code":"KN","languages":["eng"],"flag":"🇰🇳"},{"name":"Saint Lucia","code":"LC","languages":["eng"],"flag":"🇱🇨"},{"name":"Saint Martin","code":"MF","languages":["fra"],"flag":"🇲🇫"},{"name":"Saint Pierre and Miquelon","code":"PM","languages":["fra"],"flag":"🇵🇲"},{"name":"Saint Vincent and the Grenadines","code":"VC","languages":["eng"],"flag":"🇻🇨"},{"name":"Samoa","code":"WS","languages":["eng","smo"],"flag":"🇼🇸"},{"name":"San Marino","code":"SM","languages":["ita"],"flag":"🇸🇲"},{"name":"Saudi Arabia","code":"SA","languages":["ara"],"flag":"🇸🇦"},{"name":"Senegal","code":"SN","languages":["fra"],"flag":"🇸🇳"},{"name":"Serbia","code":"RS","languages":["srp"],"flag":"🇷🇸"},{"name":"Seychelles","code":"SC","languages":["crs","eng","fra"],"flag":"🇸🇨"},{"name":"Sierra Leone","code":"SL","languages":["eng"],"flag":"🇸🇱"},{"name":"Singapore","code":"SG","languages":["zho","eng","msa","tam"],"flag":"🇸🇬"},{"name":"Sint Maarten","code":"SX","languages":["eng","fra","nld"],"flag":"🇸🇽"},{"name":"Slovakia","code":"SK","languages":["slk"],"flag":"🇸🇰"},{"name":"Slovenia","code":"SI","languages":["slv"],"flag":"🇸🇮"},{"name":"Solomon Islands","code":"SB","languages":["eng"],"flag":"🇸🇧"},{"name":"Somalia","code":"SO","languages":["ara","som"],"flag":"🇸🇴"},{"name":"South Africa","code":"ZA","languages":["afr","eng","nbl","nso","sot","ssw","tsn","tso","ven","xho","zul"],"flag":"🇿🇦"},{"name":"South Georgia and the South Sandwich Islands","code":"GS","languages":["eng"],"flag":"🇬🇸"},{"name":"South Korea","code":"KR","languages":["kor"],"flag":"🇰🇷"},{"name":"South Sudan","code":"SS","languages":["eng"],"flag":"🇸🇸"},{"name":"Spain","code":"ES","languages":["spa"],"flag":"🇪🇸"},{"name":"Sri Lanka","code":"LK","languages":["sin","tam"],"flag":"🇱🇰"},{"name":"Sudan","code":"SD","languages":["ara","eng"],"flag":"🇸🇩"},{"name":"Suriname","code":"SR","languages":["nld"],"flag":"🇸🇷"},{"name":"Svalbard and Jan Mayen","code":"SJ","languages":["nor"],"flag":"🇸🇯"},{"name":"Swaziland","code":"SZ","languages":["eng","ssw"],"flag":"🇸🇿"},{"name":"Sweden","code":"SE","languages":["swe"],"flag":"🇸🇪"},{"name":"Switzerland","code":"CH","languages":["fra","gsw","ita","roh"],"flag":"🇨🇭"},{"name":"Syria","code":"SY","languages":["ara"],"flag":"🇸🇾"},{"name":"São Tomé and Príncipe","code":"ST","languages":["por"],"flag":"🇸🇹"},{"name":"Taiwan","code":"TW","languages":["zho"],"flag":"🇹🇼"},{"name":"Tajikistan","code":"TJ","languages":["rus","tgk"],"flag":"🇹🇯"},{"name":"Tanzania","code":"TZ","languages":["eng","swa"],"flag":"🇹🇿"},{"name":"Thailand","code":"TH","languages":["tha"],"flag":"🇹🇭"},{"name":"Togo","code":"TG","languages":["fra"],"flag":"🇹🇬"},{"name":"Tokelau","code":"TK","languages":["eng","smo","tkl"],"flag":"🇹🇰"},{"name":"Tonga","code":"TO","languages":["eng","ton"],"flag":"🇹🇴"},{"name":"Trinidad and Tobago","code":"TT","languages":["eng"],"flag":"🇹🇹"},{"name":"Tunisia","code":"TN","languages":["ara"],"flag":"🇹🇳"},{"name":"Turkey","code":"TR","languages":["tur"],"flag":"🇹🇷"},{"name":"Turkmenistan","code":"TM","languages":["rus","tuk"],"flag":"🇹🇲"},{"name":"Turks and Caicos Islands","code":"TC","languages":["eng"],"flag":"🇹🇨"},{"name":"Tuvalu","code":"TV","languages":["eng","tvl"],"flag":"🇹🇻"},{"name":"U.S. Minor Outlying Islands","code":"UM","languages":["eng"],"flag":"🇺🇲"},{"name":"U.S. Virgin Islands","code":"VI","languages":["eng"],"flag":"🇻🇮"},{"name":"Uganda","code":"UG","languages":["eng","swa"],"flag":"🇺🇬"},{"name":"Ukraine","code":"UA","languages":["ukr"],"flag":"🇺🇦"},{"name":"United Arab Emirates","code":"AE","languages":["ara"],"flag":"🇦🇪"},{"name":"United Kingdom","code":"UK","languages":["eng"],"flag":"🇬🇧"},{"name":"United States","code":"US","languages":["eng"],"flag":"🇺🇸"},{"name":"Uruguay","code":"UY","languages":["spa"],"flag":"🇺🇾"},{"name":"Uzbekistan","code":"UZ","languages":["rus","uzb"],"flag":"🇺🇿"},{"name":"Vanuatu","code":"VU","languages":["bis","eng","fra"],"flag":"🇻🇺"},{"name":"Vatican City","code":"VA","languages":["ita","lat"],"flag":"🇻🇦"},{"name":"Venezuela","code":"VE","languages":["spa"],"flag":"🇻🇪"},{"name":"Vietnam","code":"VN","languages":["vie"],"flag":"🇻🇳"},{"name":"Wallis and Futuna","code":"WF","languages":["fra"],"flag":"🇼🇫"},{"name":"Western Sahara","code":"EH","languages":["zgh","mey","spa"],"flag":"🇪🇭"},{"name":"Yemen","code":"YE","languages":["ara"],"flag":"🇾🇪"},{"name":"Zambia","code":"ZM","languages":["eng"],"flag":"🇿🇲"},{"name":"Zimbabwe","code":"ZW","languages":["bwg","eng","kck","hio","ndc","nde","nya","sna","sot","toi","tsn","tso","ven","xho","zib"],"flag":"🇿🇼"},{"name":"Åland","code":"AX","languages":["swe"],"flag":"🇦🇽"}] \ No newline at end of file diff --git a/tests/__data__/input/data/regions.json b/tests/__data__/input/data/regions.json deleted file mode 100644 index 0741930a..00000000 --- a/tests/__data__/input/data/regions.json +++ /dev/null @@ -1 +0,0 @@ -[{"code":"AFR","name":"Africa","countries":["AO","BF","BI","BJ","BW","CD","CF","CG","CI","CM","CV","DJ","DZ","EG","EH","ER","ET","GA","GH","GM","GN","GQ","GW","KE","KM","LR","LS","LY","MA","MG","ML","MR","MU","MW","MZ","NA","NE","NG","RE","RW","SC","SD","SH","SL","SN","SO","SS","ST","SZ","TD","TF","TG","TN","TZ","UG","YT","ZA","ZM","ZW"]},{"code":"AMER","name":"Americas","countries":["AG","AI","AR","AW","BB","BL","BM","BO","BR","BS","BV","BZ","CA","CL","CO","CR","CU","CW","DM","DO","EC","FK","GD","GF","GL","GP","GS","GT","GY","HN","HT","JM","KN","KY","LC","MF","MQ","MS","MX","NI","PA","PE","PM","PR","PY","SR","SV","SX","TC","TT","US","UY","VC","VE","VG","VI"]},{"code":"APAC","name":"Asia-Pacific","countries":["AF","AS","AU","BD","BN","BT","CK","CN","FJ","FM","GU","ID","IN","JP","KH","KI","KP","KR","LA","LK","MH","MM","MN","MP","MV","MY","NC","NF","NP","NR","NU","NZ","PF","PG","PH","PK","PN","PW","SB","SG","TH","TK","TL","TO","TV","TW","VN","VU","WF","WS"]},{"code":"ARAB","name":"Arab world","countries":["AE","BH","DJ","DZ","EG","IQ","JO","KM","KW","LB","LY","MA","MR","OM","PS","QA","SA","SD","SO","SY","TN","YE"]},{"code":"ASEAN","name":"Association of Southeast Asian Nations","countries":["BN","KH","ID","LA","MY","MM","PH","SG","TH","VN"]},{"code":"ASIA","name":"Asia","countries":["AE","AF","AM","AZ","BD","BH","BN","BT","CN","CY","GE","ID","IL","IN","IQ","IR","JO","JP","KG","KH","KP","KR","KW","KZ","LA","LB","LK","MM","MN","MV","MY","NP","OM","PH","PK","PS","QA","RU","SA","SG","SY","TH","TJ","TL","TM","TR","TW","UZ","VN","YE"]},{"code":"CARIB","name":"Caribbean","countries":["AG","AI","AW","BB","BL","BS","CU","CW","DM","DO","GD","GP","HT","JM","KN","KY","LC","MF","MQ","MS","PR","SX","TC","TT","VC","VG","VI"]},{"code":"CAS","name":"Central Asia","countries":["KG","KZ","TJ","TM","UZ"]},{"code":"CENAMER","name":"Central America","countries":["BZ","CR","SV","GT","HN","NI","PA"]},{"code":"CIS","name":"Commonwealth of Independent States","countries":["AM","AZ","BY","KG","KZ","MD","RU","TJ","UZ"]},{"code":"EMEA","name":"Europe, the Middle East and Africa","countries":["AD","AE","AL","AM","AO","AT","AZ","BA","BE","BF","BG","BH","BI","BJ","BW","BY","CD","CF","CG","CH","CI","CM","CV","CY","CZ","DE","DJ","DK","DZ","EE","EG","EH","ER","ES","ET","FI","FR","GA","GE","GH","GM","GN","GQ","GR","GW","HR","HU","IE","IQ","IR","IS","IT","JO","KE","KM","KW","KZ","LB","LI","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MK","ML","MR","MT","MU","MW","MZ","NA","NE","NG","NL","NO","OM","PL","PS","PT","QA","RE","RO","RS","RU","RW","SA","SC","SD","SE","SH","SI","SK","SL","SM","SN","SO","SS","ST","SY","SZ","TD","TF","TG","TN","TR","TZ","UA","UG","UK","VA","YE","YT","ZA","ZM","ZW"]},{"code":"EUR","name":"Europe","countries":["AD","AL","AM","AT","AZ","BA","BE","BG","BY","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GE","GR","HR","HU","IE","IS","IT","KZ","LI","LT","LU","LV","MC","MD","ME","MK","MT","NL","NO","PL","PT","RO","RS","RU","SE","SI","SK","SM","TR","UA","UK","VA"]},{"code":"HISPAM","name":"Hispanic America","countries":["AR","BO","CL","CO","CR","CU","DO","EC","GT","HN","MX","NI","PA","PE","PR","PY","SV","UY","VE"]},{"code":"INT","name":"Worldwide","countries":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","UK","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"]},{"code":"LAC","name":"Latin America and the Caribbean","countries":["AG","AI","AR","AW","BB","BL","BO","BR","BS","CL","CO","CR","CU","CW","DM","DO","EC","GD","GF","GP","GT","HN","HT","JM","KN","KY","LC","MF","MQ","MS","MX","NI","PA","PE","PR","PY","SV","SX","TC","TT","UY","VC","VE","VG","VI"]},{"code":"LATAM","name":"Latin America","countries":["AR","BL","BO","BR","CL","CO","CR","CU","DO","EC","GF","GP","GT","HN","HT","MF","MQ","MX","NI","PA","PE","PR","PY","SV","UY","VE"]},{"code":"MAGHREB","name":"Maghreb","countries":["DZ","LY","MA","MR","TN"]},{"code":"MENA","name":"Middle East and North Africa","countries":["AE","BH","CY","DJ","DZ","EG","EH","IL","IQ","IR","JO","KW","LB","LY","MA","OM","PS","QA","SA","SD","SY","TN","TR","YE"]},{"code":"MIDEAST","name":"Middle East","countries":["AE","BH","CY","EG","IL","IQ","IR","JO","KW","LB","OM","PS","QA","SA","SY","TR","YE"]},{"code":"NAM","name":"Northern America","countries":["BM","CA","GL","PM","US"]},{"code":"NORAM","name":"North America","countries":["AG","AI","AW","BB","BL","BM","BS","BZ","CA","CR","CU","CW","DM","DO","GD","GL","GP","GT","HN","HT","JM","KN","KY","LC","MF","MQ","MS","MX","NI","PA","PM","PR","SV","SX","TC","TT","US","VC","VG","VI"]},{"code":"NORD","name":"Nordics","countries":["AX","DK","FO","FI","IS","NO","SE"]},{"code":"OCE","name":"Oceania","countries":["AS","AU","CK","FJ","FM","GU","KI","MH","MP","NC","NF","NR","NU","NZ","PF","PG","PN","PW","SB","TK","TO","TV","VU","WF","WS"]},{"code":"SAS","name":"South Asia","countries":["AF","BD","BT","IN","LK","MV","NP","PK"]},{"code":"SOUTHAM","name":"South America","countries":["AR","BO","BR","CL","CO","EC","PY","PE","UY","VE","BV","FK","GF","GY","GS","SR"]},{"code":"SSA","name":"Sub-Saharan Africa","countries":["AO","BF","BI","BJ","BW","CD","CF","CG","CI","CM","CV","DJ","ER","ET","GA","GH","GM","GN","GQ","GW","KE","KM","LR","LS","MG","ML","MR","MU","MW","MZ","NA","NE","NG","RW","SC","SD","SL","SN","SO","SS","ST","SZ","TD","TG","TZ","UG","ZA","ZM","ZW"]},{"code":"WAFR","name":"West Africa","countries":["BF","BJ","CI","CV","GH","GM","GN","GW","LR","ML","MR","NE","NG","SH","SL","SN","TG"]}] \ No newline at end of file diff --git a/tests/__data__/input/data/subdivisions.json b/tests/__data__/input/data/subdivisions.json deleted file mode 100644 index dea26f94..00000000 --- a/tests/__data__/input/data/subdivisions.json +++ /dev/null @@ -1,352 +0,0 @@ -[ - { - "country": "CA", - "name": "Alberta", - "code": "CA-AB" - }, - { - "country": "CA", - "name": "British Columbia", - "code": "CA-BC" - }, - { - "country": "CA", - "name": "Manitoba", - "code": "CA-MB" - }, - { - "country": "CA", - "name": "New Brunswick", - "code": "CA-NB" - }, - { - "country": "CA", - "name": "Newfoundland and Labrador", - "code": "CA-NL" - }, - { - "country": "CA", - "name": "Northwest Territories", - "code": "CA-NT" - }, - { - "country": "CA", - "name": "Nova Scotia", - "code": "CA-NS" - }, - { - "country": "CA", - "name": "Nunavut", - "code": "CA-NU" - }, - { - "country": "CA", - "name": "Ontario", - "code": "CA-ON" - }, - { - "country": "CA", - "name": "Prince Edward Island", - "code": "CA-PE" - }, - { - "country": "CA", - "name": "Quebec", - "code": "CA-QC" - }, - { - "country": "CA", - "name": "Saskatchewan", - "code": "CA-SK" - }, - { - "country": "CA", - "name": "Yukon", - "code": "CA-YT" - }, - { - "country": "US", - "name": "Alabama", - "code": "US-AL" - }, - { - "country": "US", - "name": "Alaska", - "code": "US-AK" - }, - { - "country": "US", - "name": "American Samoa", - "code": "US-AS" - }, - { - "country": "US", - "name": "Arizona", - "code": "US-AZ" - }, - { - "country": "US", - "name": "Arkansas", - "code": "US-AR" - }, - { - "country": "US", - "name": "California", - "code": "US-CA" - }, - { - "country": "US", - "name": "Colorado", - "code": "US-CO" - }, - { - "country": "US", - "name": "Connecticut", - "code": "US-CT" - }, - { - "country": "US", - "name": "Delaware", - "code": "US-DE" - }, - { - "country": "US", - "name": "District of Columbia", - "code": "US-DC" - }, - { - "country": "US", - "name": "Florida", - "code": "US-FL" - }, - { - "country": "US", - "name": "Georgia", - "code": "US-GA" - }, - { - "country": "US", - "name": "Guam", - "code": "US-GU" - }, - { - "country": "US", - "name": "Hawaii", - "code": "US-HI" - }, - { - "country": "US", - "name": "Idaho", - "code": "US-ID" - }, - { - "country": "US", - "name": "Illinois", - "code": "US-IL" - }, - { - "country": "US", - "name": "Indiana", - "code": "US-IN" - }, - { - "country": "US", - "name": "Iowa", - "code": "US-IA" - }, - { - "country": "US", - "name": "Kansas", - "code": "US-KS" - }, - { - "country": "US", - "name": "Kentucky", - "code": "US-KY" - }, - { - "country": "US", - "name": "Louisiana", - "code": "US-LA" - }, - { - "country": "US", - "name": "Maine", - "code": "US-ME" - }, - { - "country": "US", - "name": "Maryland", - "code": "US-MD" - }, - { - "country": "US", - "name": "Massachusetts", - "code": "US-MA" - }, - { - "country": "US", - "name": "Michigan", - "code": "US-MI" - }, - { - "country": "US", - "name": "Minnesota", - "code": "US-MN" - }, - { - "country": "US", - "name": "Mississippi", - "code": "US-MS" - }, - { - "country": "US", - "name": "Missouri", - "code": "US-MO" - }, - { - "country": "US", - "name": "Montana", - "code": "US-MT" - }, - { - "country": "US", - "name": "Nebraska", - "code": "US-NE" - }, - { - "country": "US", - "name": "Nevada", - "code": "US-NV" - }, - { - "country": "US", - "name": "New Hampshire", - "code": "US-NH" - }, - { - "country": "US", - "name": "New Jersey", - "code": "US-NJ" - }, - { - "country": "US", - "name": "New Mexico", - "code": "US-NM" - }, - { - "country": "US", - "name": "New York", - "code": "US-NY" - }, - { - "country": "US", - "name": "North Carolina", - "code": "US-NC" - }, - { - "country": "US", - "name": "North Dakota", - "code": "US-ND" - }, - { - "country": "US", - "name": "Northern Mariana Islands", - "code": "US-MP" - }, - { - "country": "US", - "name": "Ohio", - "code": "US-OH" - }, - { - "country": "US", - "name": "Oklahoma", - "code": "US-OK" - }, - { - "country": "US", - "name": "Oregon", - "code": "US-OR" - }, - { - "country": "US", - "name": "Pennsylvania", - "code": "US-PA" - }, - { - "country": "US", - "name": "Puerto Rico", - "code": "US-PR" - }, - { - "country": "US", - "name": "Rhode Island", - "code": "US-RI" - }, - { - "country": "US", - "name": "South Carolina", - "code": "US-SC" - }, - { - "country": "US", - "name": "South Dakota", - "code": "US-SD" - }, - { - "country": "US", - "name": "Tennessee", - "code": "US-TN" - }, - { - "country": "US", - "name": "Texas", - "code": "US-TX" - }, - { - "country": "US", - "name": "U.S. Virgin Islands", - "code": "US-VI" - }, - { - "country": "US", - "name": "United States Minor Outlying Islands", - "code": "US-UM" - }, - { - "country": "US", - "name": "Utah", - "code": "US-UT" - }, - { - "country": "US", - "name": "Vermont", - "code": "US-VT" - }, - { - "country": "US", - "name": "Virginia", - "code": "US-VA" - }, - { - "country": "US", - "name": "Washington", - "code": "US-WA" - }, - { - "country": "US", - "name": "West Virginia", - "code": "US-WV" - }, - { - "country": "US", - "name": "Wisconsin", - "code": "US-WI" - }, - { - "country": "US", - "name": "Wyoming", - "code": "US-WY" - } -] \ No newline at end of file diff --git a/tests/__data__/input/database/programs.db b/tests/__data__/input/database/programs.db deleted file mode 100644 index c80cb110..00000000 --- a/tests/__data__/input/database/programs.db +++ /dev/null @@ -1,46 +0,0 @@ -{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641825900000,"stop":1641826800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"12AJc0GeEJE9p4c3"} -{"title":"Connecting Africa. 114-я серия","description":"114-я серия. Проект, рассказывающий о людях и компаниях, которые совершают революцию в африканском бизнесе, и о тех, кто объединяет континент, выступая за свободную торговлю в Африке.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641843900000,"stop":1641844800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"1dxcT34nyxzOlxBL"} -{"title":"Connect the World","description":"Актуальная мировая информация с разных континентов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641826800000,"stop":1641830400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"2uJe4w2lgvjNOXo0"} -{"title":"The Lead with Jake Tapper","description":"Оперативная сводка новостей страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641844800000,"stop":1641848400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"6As6GzEVhb3OWM0M"} -{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641817800000,"stop":1641819600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"6DXKlITWehX1Jx4F"} -{"title":"CNN Newsroom with Michael Holmes","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641790800000,"stop":1641794400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"AadPdMZ3s72y8NMk"} -{"title":"The Situation Room with Wolf Blitzer","description":"Командный центр новостей, политики и неординарных репортажей со всего мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641852000000,"stop":1641855600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"Az3ABKy3HnE7sJZk"} -{"title":"One World with Zain Asher","description":"Освещаются важные новости с каждого континента, от политики и текущих дел до социальных вопросов и многого другого.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641830400000,"stop":1641833100000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"DMurxgt5OD0E9OIE"} -{"title":"TBD","description":"Информационно-познавательный проект CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641783600000,"stop":1641785400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"HQJqM2kIa77llWbC"} -{"title":"Marketplace Africa. 548-я серия","description":"548-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641782700000,"stop":1641783600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"Jn3khh5n9Brkxq4U"} -{"title":"CNN Newsroom with Michael Holmes","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641787200000,"stop":1641789900000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"KcrIoQTXtUdw74sO"} -{"title":"The Global Brief with Bianca Nobilo","description":"Global Brief с Бьянкой Нобило проницательно исследует меняющийся мир для меняющейся аудитории, обеспечивая непревзойденную глубину и качество для занятых зрителей в быстро меняющемся мире.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641848400000,"stop":1641850200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"LGD7WmQogDRxZn01"} -{"title":"CNN Newsroom with Rosemary Church","description":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641798000000,"stop":1641805200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"LyCBivUTdZFW9X53"} -{"title":"Marketplace Africa. 549-я серия","description":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641833100000,"stop":1641834000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"PbrZinuZKgBHqDVj"} -{"title":"African Voices Changemakers. 114-я серия","description":"114-я серия. Африка сегодня - люди, новости, события.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641780000000,"stop":1641781800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"SvrCK31v78V5y7EA"} -{"title":"Anderson Cooper 360","description":"Уникальный взгляд Андерсона Купера на главные события мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641859200000,"stop":1641862800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"TFGrOFJGkaOs9pU7"} -{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641850200000,"stop":1641852000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"UynlLeT41MsjFElg"} -{"title":"New Day","description":"Свежий обзор событий в стране и мире.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641808800000,"stop":1641817800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"UyvhQ4wRNq5d5XRd"} -{"title":"Amanpour","description":"Сводка новостей от знаменитой ведущей канала CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641834000000,"stop":1641837600000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"WbsOCkmPH5gjmo4M"} -{"title":"Early Start","description":"Новости дня с Кристиной Романс и Дейвом Бриггсом.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641805200000,"stop":1641808800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"YB96P2mMO4TA0pID"} -{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641789900000,"stop":1641790800000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"aDdCAlgqLG2yxM1m"} -{"title":"CNN Newsroom Sunday","description":"Свежая мировая информационная сводка от CNN. О политике, экономике, общественной жизни, культуре, спорте.","category":["Category1","Category2"],"season":null,"episode":null,"icon":null,"channel":"CNNInternationalEurope.us","lang":"ru","start":1641772800000,"stop":1641776400000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"aYCk87dUOAkCJE9x"} -{"title":"Fareed Zakaria GPS","description":"Интервью с главными игроками мировой политики.","category":"Category1","season":null,"episode":null,"icon":null,"channel":"CNNInternationalEurope.us","lang":"ru","start":1641776400000,"stop":1641780000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"c1nCoWVetBZ3mn5q"} -{"title":"Inside Africa. 586-я серия","description":"586-я серия. Своеобразное \"путешествие\" по Африке - почувствуйте все разнообразие культур различных стран и регионов континента.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641785400000,"stop":1641787200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"goaDr7BsGGm3LCfz"} -{"title":"CNN Newsroom with Robyn Curnow","description":"Обзор самых важных и актуальных новостей и событий из жизни страны и мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641794400000,"stop":1641797100000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"nixd3gRF1S1K0ZOs"} -{"title":"Marketplace Africa. 549-я серия","description":"549-я серия. Информационная передача об экономических событиях африканского региона. Анализируются проблемы, даются экономические прогнозы.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641781800000,"stop":1641782700000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"r1b8EvZc0tYs88ga"} -{"title":"Erin Burnett OutFront","description":"Обсуждение самых важных мировых тем в эфире канала CNN.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641855600000,"stop":1641859200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"sIQtUtowtATc7dLj"} -{"title":"Connect the World","description":"Актуальная мировая информация с разных континентов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641823200000,"stop":1641825900000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"tXBIZ2BZBIkhnoTZ"} -{"title":"Quest Means Business","description":"Ричард Квест возглавляет группу экспертов и корреспондентов, чтобы предоставить актуальные факты, цифры и анализ из делового мира.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641841200000,"stop":1641843900000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"xlE5epkjzdfUQpXO"} -{"title":"First Move with Julia Chatterley","description":"Несколько больших историй, связанных с открытием рынков в США.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641819600000,"stop":1641823200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"yEVXucyUomVmktMF"} -{"title":"Hala Gorani Tonight","description":"Используя свой 25-летний журналистский опыт, Хала Горани будет освещать ключевые события в картине дня посредством диалога с гостями и экспертами-аналитиками.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641837600000,"stop":1641841200000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"yPgmYrWwfxHW3WUA"} -{"title":"World Sport","description":"Все о главных спортивных событиях мира. Обзоры самых важных спортивных событий, аналитика, мнения экспертов.","sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"CNNInternationalEurope.us","lang":"ru","start":1641797100000,"stop":1641798000000,"site":"chaines-tv.orange.fr","_qid":"0Wefq0oMR3feCcuY","_id":"zX70wOz5drExRTJX"} -{"title":"Robin Hood","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641822300000,"stop":1641829200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"1AoKArQw6MxP6pVU"} -{"title":"The Water Diviner","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641776100000,"stop":1641782700000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"6v7w0SB4IlnfEEu3"} -{"title":"Bad Boys For Life","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641847200000,"stop":1641850800000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"83VRYvggmyfCzkOm"} -{"title":"12 Strong","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641814500000,"stop":1641822300000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"DbjwscjIuVDY8TPx"} -{"title":"Backdraft","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641801300000,"stop":1641809400000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"IwuwkjCKqWvio7ba"} -{"title":"Force Of Nature","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641841200000,"stop":1641847200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"LP56HczEup0ed3Xx"} -{"title":"Mafia","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641809400000,"stop":1641814500000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"MM9DPxERAgGGak39"} -{"title":"The Last Witch Hunter","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641834780000,"stop":1641841200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"MciJOpN3YCodj6Na"} -{"title":"Beyond The Line","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641796500000,"stop":1641801300000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"ZKA2s6QrM0xRrfGz"} -{"title":"Paranoia","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641790200000,"stop":1641796500000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"ZpdIZeSRhPycDX9D"} -{"title":"The Scorpion King","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641829200000,"stop":1641834780000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"doO4Lh1pAt6L6wHa"} -{"title":"Fatman","description":null,"category":null,"season":9,"episode":257,"icon":null,"channel":"MNetMovies2.za","lang":"en","start":1641761700000,"stop":1641767700000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"fHahGuzHnU7xVEJX"} -{"title":"Outbreak","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641782700000,"stop":1641790200000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"mkvcMP4FMwL2a5ax"} -{"title":"Motherless Brooklyn","description":null,"sub_title":"","urls":[],"categories":[],"icon":{},"episodeNumbers":[],"date":null,"ratings":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"channel":"MNetMovies2.za","lang":"en","start":1641767700000,"stop":1641776100000,"site":"dstv.com","_qid":"1lnhXpN7g0ER5XwN","_id":"nxTIAJsBwyXztRun"} diff --git a/tests/__data__/input/database/queue.db b/tests/__data__/input/database/queue.db deleted file mode 100644 index a21b96ab..00000000 --- a/tests/__data__/input/database/queue.db +++ /dev/null @@ -1,5 +0,0 @@ -{"channel":{"lang":"en","id":"BravoEast.us","name":"Bravo East","site_id":"237","logo":"","site":"directv.com","url":"https://directv.com"},"configPath":"sites/directv.com/directv.com.config.js","error":"Invalid header value char","cluster_id":84,"date":"2022-01-21T00:00:00Z","_id":"00AluKCrCnfgrl8W"} -{"channel":{"lang":"fr","id":"CNNInternationalEurope.us","name":"CNN International","site_id":"53","logo":"","site":"chaines-tv.orange.fr","url":"https://chaines-tv.orange.fr"},"configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"date":"2022-01-21T00:00:00Z","_id":"0Wefq0oMR3feCcuY"} -{"channel":{"lang":"ru","id":"CNNInternationalEurope.us","name":"CNN International","site_id":"140","logo":"","site":"magticom.ge","url":"https://magticom.ge"},"configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"date":"2022-01-21T00:00:00Z","_id":"1XzrxNkSF2AQNBrT"} -{"channel":{"lang":"en","id":"MNetMovies2.za","name":"M-Net Movies 2","site_id":"404a052b-3dea-4cac-a19c-de9a7d6f191d#MAP","logo":"","site":"dstv.com","url":"https://dstv.com"},"configPath":"sites/dstv.com/dstv.com.config.js","error":null,"cluster_id":120,"date":"2022-01-21T00:00:00Z","_id":"1lnhXpN7g0ER5XwN"} -{"channel":{"lang":"ru","id":"Perviykanal.ru","name":"Perviy kanal","site_id":"1","logo":"","site":"yandex.ru","url":"https://yandex.ru"},"configPath":"sites/yandex.ru/yandex.ru.config.js","error":"Some error","cluster_id":4,"date":"2022-01-21T00:00:00Z","_id":"1lnhXpN7g0ER5Xw5"} diff --git a/tests/__data__/input/database/update-guides/programs.db b/tests/__data__/input/database/update-guides/programs.db deleted file mode 100644 index 0bedb48e..00000000 --- a/tests/__data__/input/database/update-guides/programs.db +++ /dev/null @@ -1,6 +0,0 @@ -{"site":"allente.se","channel":"6eren.dk","titles":[{"value":"Diners, Drive-Ins and Dives","lang":"da"}],"sub_titles":[],"descriptions":[{"value":"Underholdning","lang":"da"}],"icon":{"src":"https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/487/2022-10-24/se.cs.6eren.event.B_0254194276971024040000.jpg?size=2560x1440"},"episodeNumbers":[{"system":"xmltv_ns","value":"23.5.0/1"},{"system":"onscreen","value":"S24E06"}],"date":null,"start":1666584000000,"stop":1666585500000,"urls":[],"ratings":[],"categories":[{"value":"series","lang":"da"}],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"_qid":"f6cxSM73LfZ8TdYz","_id":"HxsrTRTFj1z05TAK"} -{"site":"allente.se","channel":"6eren.dk","titles":[{"value":"Diners, Drive-Ins and Dives","lang":"da"}],"sub_titles":[],"descriptions":[{"value":"Underholdning","lang":"da"}],"icon":{"src":"https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/487/2022-10-24/se.cs.6eren.event.B_0254194276971024040000.jpg?size=2560x1440"},"episodeNumbers":[{"system":"xmltv_ns","value":"23.5.0/1"},{"system":"onscreen","value":"S24E06"}],"date":null,"start":1666584000000,"stop":1666585500000,"urls":[],"ratings":[],"categories":[{"value":"series","lang":"da"}],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"_qid":"f6cxTM73LfZ8TdYz","_id":"HxsrBRTFj1z05TAK"} -{"site":"virginmedia.com","channel":"BBCNews.uk","titles":[{"value":"BBC News at One","lang":"en"}],"sub_titles":[],"descriptions":[{"value":"The latest national and international news, followed by weather.","lang":"en"}],"icon":{"src":""},"episodeNumbers":[{"system":"xmltv_ns","value":"96839999.145799123.0/1"},{"system":"onscreen","value":"S96840000E145799124"}],"date":null,"start":1666872000000,"stop":1666873800000,"urls":[],"ratings":[],"categories":[{"value":"News","lang":"en"}],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"_qid":"lNXh3lBnb4n1DBzs","_id":"quKCInjZV98xFUAf"} -{"site":"sky.com","channel":"BBCNews.uk","titles":[{"value":"BBC News at One","lang":"en"}],"sub_titles":[],"descriptions":[{"value":"The latest national and international news from the BBC. [S,SL]","lang":"en"}],"icon":{"src":"http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/lisa/5.2.2/linear/channel/ca247bc8-6be0-48f9-88d1-865f87f7680e/2011"},"episodeNumbers":[],"date":null,"start":1666872000000,"stop":1666873800000,"urls":[],"ratings":[],"categories":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"_qid":"36duI92slofEXlSa","_id":"ryzed0Bqda1QtE7i"} -{"site":"sky.com","channel":"BBCNews.uk","titles":[{"value":"BBC News at One","lang":"fr"}],"sub_titles":[],"descriptions":[{"value":"Les dernières nouvelles nationales et internationales de la BBC. [S,SL]","lang":"fr"}],"icon":{"src":"http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/lisa/5.2.2/linear/channel/ca247bc8-6be0-48f9-88d1-865f87f7680e/2011"},"episodeNumbers":[],"date":null,"start":1666872000000,"stop":1666873800000,"urls":[],"ratings":[],"categories":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"_qid":"32duI92slofEXlSa","_id":"r5zed0Bqda1QtE7i"} -{"site":"sky.com","channel":"CNN.us","titles":[{"value":"French title","lang":"fr"}],"sub_titles":[],"descriptions":[],"icon":{},"episodeNumbers":[],"date":null,"start":1666872000000,"stop":1666873800000,"urls":[],"ratings":[],"categories":[],"directors":[],"actors":[],"writers":[],"adapters":[],"producers":[],"composers":[],"editors":[],"presenters":[],"commentators":[],"guests":[],"_qid":"37duI92slofEXlSa","_id":"rxzed0Bqda1QtE7i"} \ No newline at end of file diff --git a/tests/__data__/input/database/update-guides/queue.db b/tests/__data__/input/database/update-guides/queue.db deleted file mode 100644 index 62ab23c3..00000000 --- a/tests/__data__/input/database/update-guides/queue.db +++ /dev/null @@ -1,8 +0,0 @@ -{"channel":{"lang":"da","id":"6eren.dk","name":"6eren","site_id":"237","logo":"","site":"allente.se","url":"https://directv.com"},"configPath":"sites/directv.com/directv.com.config.js","error":"Invalid header value char","cluster_id":84,"date":"2022-01-21T00:00:00Z","_id":"00AluKCrCnfgrl8W"} -{"channel":{"lang":"en","id":"BBCNews.uk","name":"BBC News","site_id":"53","logo":"","site":"virginmedia.com","url":"https://chaines-tv.orange.fr"},"configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"date":"2022-01-21T00:00:00Z","_id":"0Wefq0oMR3feCcuY"} -{"channel":{"lang":"fr","id":"BBCNews.uk","name":"BBC News","site_id":"53","logo":"","site":"sky.com","url":"https://chaines-tv.orange.fr"},"configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"date":"2022-01-21T00:00:00Z","_id":"0Zefq0oMR3feCcuY"} -{"channel":{"lang":"en","id":"BBCNews.uk","name":"BBC News","site_id":"53","logo":"","site":"sky.com","url":"https://chaines-tv.orange.fr"},"configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"date":"2022-01-21T00:00:00Z","_id":"0Qefq0oMR3feCcuY"} -{"channel":{"lang":"fr","id":"CNN.us","name":"CNN","site_id":"140","logo":"","site":"sky.com","url":"https://magticom.ge"},"configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"date":"2022-01-21T00:00:00Z","_id":"1XzrxNkSF2AQNBrT"} -{"channel":{"lang":"fr","id":"CNN.us","name":"CNN","site_id":"140","logo":"","site":"sky.com","url":"https://magticom.ge"},"configPath":"tests/__data__/input/sites/example.com.config.js","error":null,"cluster_id":1,"date":"2022-01-22T00:00:00Z","_id":"2XzrxNkSF2AQNBrT"} -{"channel":{"lang":"en","id":"BravoEast.us","name":"Bravo East","site_id":"237","logo":"","site":"directv.com","url":"https://directv.com"},"configPath":"sites/directv.com/directv.com.config.js","error":"Invalid header value char","cluster_id":84,"date":"2022-01-21T00:00:00Z","_id":"01AluKCrCnfgrl8W"} -{"channel":{"lang":"en","id":"BravoEast.us","name":"Bravo East","site_id":"237","logo":"","site":"directv.com","url":"https://directv.com"},"configPath":"sites/directv.com/directv.com.config.js","error":"Invalid header value char","cluster_id":84,"date":"2022-01-22T00:00:00Z","_id":"02AluKCrCnfgrl8W"} \ No newline at end of file diff --git a/tests/__data__/input/logs/cluster/load/cluster_1.log b/tests/__data__/input/logs/cluster/load/cluster_1.log deleted file mode 100644 index ac86999c..00000000 --- a/tests/__data__/input/logs/cluster/load/cluster_1.log +++ /dev/null @@ -1,2 +0,0 @@ -{"_qid":"0Wefq0oMR3feCcuY","programs":[{"titles":[{"lang":"en","value":"InfoNeu "}],"descriptions":[],"categories":[],"icon":null,"channel":"CNNInternationalEurope.us","site": "chaines-tv.orange.fr","start":1641711600000,"stop":1641715200000}],"error":null} -{"_qid":"1XzrxNkSF2AQNBrT","programs":[],"error":"Invalid header value char"} diff --git a/tests/__data__/input/logs/guides/update.log b/tests/__data__/input/logs/guides/update.log deleted file mode 100644 index bf20652e..00000000 --- a/tests/__data__/input/logs/guides/update.log +++ /dev/null @@ -1,5 +0,0 @@ -{"site":"allente.se","lang":"da","days":2,"channel":"6eren.dk","filename":"da/allente.se"} -{"site":"virginmedia.com","lang":"en","days":2,"channel":"BBCNews.uk","filename":"en/virginmedia.com"} -{"site":"sky.com","lang":"fr","days":2,"channel":"BBCNews.uk","filename":"fr/sky.com"} -{"site":"sky.com","lang":"fr","days":2,"channel":"CNN.us","filename":"fr/sky.com"} -{"site":"sky.com","lang":"en","days":2,"channel":"BBCNews.uk","filename":"en/sky.com"} \ No newline at end of file diff --git a/tests/__data__/input/readme.json b/tests/__data__/input/readme.json deleted file mode 100644 index fc3d3668..00000000 --- a/tests/__data__/input/readme.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "build" : "tests/__data__/output/readme.md", - "files" : ["./.readme/readme.md"] -} \ No newline at end of file diff --git a/tests/__data__/input/status.json b/tests/__data__/input/status.json deleted file mode 100644 index 02392960..00000000 --- a/tests/__data__/input/status.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "build" : "tests/__data__/output/status.md", - "files" : ["./.readme/status.md"] -} \ No newline at end of file From 8a448a981a3a2f100f0bb658a523ddd583d1557b Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:11:07 +0300 Subject: [PATCH 05/17] Create scripts/tmp directory --- scripts/commands/api/load.sh | 10 +- scripts/core/api.js | 2 +- scripts/core/db.js | 2 +- scripts/tmp/.gitignore | 2 + tests/__data__/input/tmp/data/channels.json | 74 ++++ tests/__data__/input/tmp/data/countries.json | 1 + tests/__data__/input/tmp/data/regions.json | 1 + .../__data__/input/tmp/data/subdivisions.json | 352 ++++++++++++++++++ 8 files changed, 437 insertions(+), 7 deletions(-) create mode 100644 scripts/tmp/.gitignore create mode 100644 tests/__data__/input/tmp/data/channels.json create mode 100644 tests/__data__/input/tmp/data/countries.json create mode 100644 tests/__data__/input/tmp/data/regions.json create mode 100644 tests/__data__/input/tmp/data/subdivisions.json diff --git a/scripts/commands/api/load.sh b/scripts/commands/api/load.sh index 9a7e6621..614bc110 100755 --- a/scripts/commands/api/load.sh +++ b/scripts/commands/api/load.sh @@ -1,7 +1,7 @@ #!/bin/bash -mkdir -p scripts/data -curl -L -o scripts/data/channels.json https://iptv-org.github.io/api/channels.json -curl -L -o scripts/data/countries.json https://iptv-org.github.io/api/countries.json -curl -L -o scripts/data/regions.json https://iptv-org.github.io/api/regions.json -curl -L -o scripts/data/subdivisions.json https://iptv-org.github.io/api/subdivisions.json \ No newline at end of file +mkdir -p scripts/tmp/data +curl -L -o scripts/tmp/data/channels.json https://iptv-org.github.io/api/channels.json +curl -L -o scripts/tmp/data/countries.json https://iptv-org.github.io/api/countries.json +curl -L -o scripts/tmp/data/regions.json https://iptv-org.github.io/api/regions.json +curl -L -o scripts/tmp/data/subdivisions.json https://iptv-org.github.io/api/subdivisions.json \ No newline at end of file diff --git a/scripts/core/api.js b/scripts/core/api.js index e18e4da3..18c4f144 100644 --- a/scripts/core/api.js +++ b/scripts/core/api.js @@ -1,7 +1,7 @@ const _ = require('lodash') const file = require('./file') -const DATA_DIR = process.env.DATA_DIR || './scripts/data' +const DATA_DIR = process.env.DATA_DIR || './scripts/tmp/data' class API { constructor(filepath) { diff --git a/scripts/core/db.js b/scripts/core/db.js index 6f9442cf..1870346f 100644 --- a/scripts/core/db.js +++ b/scripts/core/db.js @@ -1,7 +1,7 @@ const nedb = require('nedb-promises') const file = require('./file') -const DB_DIR = process.env.DB_DIR || './scripts/database' +const DB_DIR = process.env.DB_DIR || './scripts/tmp/database' class Database { constructor(filepath) { diff --git a/scripts/tmp/.gitignore b/scripts/tmp/.gitignore new file mode 100644 index 00000000..c96a04f0 --- /dev/null +++ b/scripts/tmp/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/tests/__data__/input/tmp/data/channels.json b/tests/__data__/input/tmp/data/channels.json new file mode 100644 index 00000000..28255c4a --- /dev/null +++ b/tests/__data__/input/tmp/data/channels.json @@ -0,0 +1,74 @@ +[ + { + "id": "BravoEast.us", + "name": "Bravo East", + "network": null, + "country": "US", + "subdivision": null, + "city": null, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "categories": [], + "is_nsfw": false, + "logo": "https://www.directv.com/images/logos/channels/dark/large/579.png" + }, + { + "id": "CNNInternationalEurope.us", + "name": "CNN International Europe", + "network": null, + "country": "US", + "subdivision": null, + "city": null, + "broadcast_area": [ + "r/EUR" + ], + "languages": [ + "eng" + ], + "categories": [ + "news" + ], + "is_nsfw": false, + "logo": "https://i.imgur.com/2BXCg0x.jpg" + }, + { + "id": "MNetMovies2.za", + "name": "M-Net Movies 2", + "network": null, + "country": "ZA", + "subdivision": null, + "city": null, + "broadcast_area": [ + "c/ZA" + ], + "languages": [ + "afr" + ], + "categories": [], + "is_nsfw": false, + "logo": "https://rndcdn.dstv.com/dstvcms/2020/08/31/M-Net_Movies_2_Logo_4-3_lightbackground_xlrg.png" + }, + {"id":"6eren.dk","name":"6'eren","alt_names":[],"network":null,"owners":["Warner Bros. Discovery EMEA"],"country":"DK","subdivision":null,"city":null,"broadcast_area":["c/DK"],"languages":["dan"],"categories":[],"is_nsfw":false,"launched":"2009-01-01","closed":null,"replaced_by":null,"website":"http://www.6-eren.dk/","logo":"https://upload.wikimedia.org/wikipedia/commons/6/64/6%27eren_2015.png"}, + {"id":"BBCNews.uk","name":"BBC News","alt_names":[],"network":null,"owners":[],"country":"UK","subdivision":null,"city":null,"broadcast_area":["c/UK"],"languages":["eng"],"categories":["news"],"is_nsfw":false,"launched":null,"closed":null,"replaced_by":null,"website":"http://news.bbc.co.uk/","logo":"https://i.imgur.com/rPzH88J.png"}, + { + "id": "CNN.us", + "name": "CNN", + "network": null, + "country": "US", + "subdivision": null, + "city": null, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "categories": [], + "is_nsfw": false, + "logo": "https://www.directv.com/images/logos/channels/dark/large/579.png" + } +] \ No newline at end of file diff --git a/tests/__data__/input/tmp/data/countries.json b/tests/__data__/input/tmp/data/countries.json new file mode 100644 index 00000000..1b474dde --- /dev/null +++ b/tests/__data__/input/tmp/data/countries.json @@ -0,0 +1 @@ +[{"name":"Afghanistan","code":"AF","languages":["prs","pus","tuk"],"flag":"🇦🇫"},{"name":"Albania","code":"AL","languages":["sqi"],"flag":"🇦🇱"},{"name":"Algeria","code":"DZ","languages":["ara"],"flag":"🇩🇿"},{"name":"American Samoa","code":"AS","languages":["eng","smo"],"flag":"🇦🇸"},{"name":"Andorra","code":"AD","languages":["cat"],"flag":"🇦🇩"},{"name":"Angola","code":"AO","languages":["por"],"flag":"🇦🇴"},{"name":"Anguilla","code":"AI","languages":["eng"],"flag":"🇦🇮"},{"name":"Antarctica","code":"AQ","languages":["eng"],"flag":"🇦🇶"},{"name":"Antigua and Barbuda","code":"AG","languages":["eng"],"flag":"🇦🇬"},{"name":"Argentina","code":"AR","languages":["grn","spa"],"flag":"🇦🇷"},{"name":"Armenia","code":"AM","languages":["hye"],"flag":"🇦🇲"},{"name":"Aruba","code":"AW","languages":["nld","pap"],"flag":"🇦🇼"},{"name":"Australia","code":"AU","languages":["eng"],"flag":"🇦🇺"},{"name":"Austria","code":"AT","languages":["bar"],"flag":"🇦🇹"},{"name":"Azerbaijan","code":"AZ","languages":["aze","rus"],"flag":"🇦🇿"},{"name":"Bahamas","code":"BS","languages":["eng"],"flag":"🇧🇸"},{"name":"Bahrain","code":"BH","languages":["ara"],"flag":"🇧🇭"},{"name":"Bangladesh","code":"BD","languages":["ben"],"flag":"🇧🇩"},{"name":"Barbados","code":"BB","languages":["eng"],"flag":"🇧🇧"},{"name":"Belarus","code":"BY","languages":["bel","rus"],"flag":"🇧🇾"},{"name":"Belgium","code":"BE","languages":["deu","fra","nld"],"flag":"🇧🇪"},{"name":"Belize","code":"BZ","languages":["bjz","eng","spa"],"flag":"🇧🇿"},{"name":"Benin","code":"BJ","languages":["fra"],"flag":"🇧🇯"},{"name":"Bermuda","code":"BM","languages":["eng"],"flag":"🇧🇲"},{"name":"Bhutan","code":"BT","languages":["dzo"],"flag":"🇧🇹"},{"name":"Bolivia","code":"BO","languages":["aym","grn","que","spa"],"flag":"🇧🇴"},{"name":"Bonaire","code":"BQ","languages":["eng","nld","pap"],"flag":"🇧🇶"},{"name":"Bosnia and Herzegovina","code":"BA","languages":["bos","hrv","srp"],"flag":"🇧🇦"},{"name":"Botswana","code":"BW","languages":["eng","tsn"],"flag":"🇧🇼"},{"name":"Bouvet Island","code":"BV","languages":["nor"],"flag":"🇧🇻"},{"name":"Brazil","code":"BR","languages":["por"],"flag":"🇧🇷"},{"name":"British Indian Ocean Territory","code":"IO","languages":["eng"],"flag":"🇮🇴"},{"name":"British Virgin Islands","code":"VG","languages":["eng"],"flag":"🇻🇬"},{"name":"Brunei","code":"BN","languages":["msa"],"flag":"🇧🇳"},{"name":"Bulgaria","code":"BG","languages":["bul"],"flag":"🇧🇬"},{"name":"Burkina Faso","code":"BF","languages":["fra"],"flag":"🇧🇫"},{"name":"Burundi","code":"BI","languages":["fra","run"],"flag":"🇧🇮"},{"name":"Cambodia","code":"KH","languages":["khm"],"flag":"🇰🇭"},{"name":"Cameroon","code":"CM","languages":["eng","fra"],"flag":"🇨🇲"},{"name":"Canada","code":"CA","languages":["eng","fra"],"flag":"🇨🇦"},{"name":"Cape Verde","code":"CV","languages":["por"],"flag":"🇨🇻"},{"name":"Cayman Islands","code":"KY","languages":["eng"],"flag":"🇰🇾"},{"name":"Central African Republic","code":"CF","languages":["fra","sag"],"flag":"🇨🇫"},{"name":"Chad","code":"TD","languages":["ara","fra"],"flag":"🇹🇩"},{"name":"Chile","code":"CL","languages":["spa"],"flag":"🇨🇱"},{"name":"China","code":"CN","languages":["zho"],"flag":"🇨🇳"},{"name":"Christmas Island","code":"CX","languages":["eng"],"flag":"🇨🇽"},{"name":"Cocos (Keeling) Islands","code":"CC","languages":["eng"],"flag":"🇨🇨"},{"name":"Colombia","code":"CO","languages":["spa"],"flag":"🇨🇴"},{"name":"Comoros","code":"KM","languages":["ara","fra","zdj"],"flag":"🇰🇲"},{"name":"Cook Islands","code":"CK","languages":["eng","rar"],"flag":"🇨🇰"},{"name":"Costa Rica","code":"CR","languages":["spa"],"flag":"🇨🇷"},{"name":"Croatia","code":"HR","languages":["hrv"],"flag":"🇭🇷"},{"name":"Cuba","code":"CU","languages":["spa"],"flag":"🇨🇺"},{"name":"Curacao","code":"CW","languages":["eng","nld","pap"],"flag":"🇨🇼"},{"name":"Cyprus","code":"CY","languages":["ell","tur"],"flag":"🇨🇾"},{"name":"Czech Republic","code":"CZ","languages":["ces","slk"],"flag":"🇨🇿"},{"name":"Democratic Republic of the Congo","code":"CD","languages":["fra","kon","lin","lua","swa"],"flag":"🇨🇩"},{"name":"Denmark","code":"DK","languages":["dan"],"flag":"🇩🇰"},{"name":"Djibouti","code":"DJ","languages":["ara","fra"],"flag":"🇩🇯"},{"name":"Dominica","code":"DM","languages":["eng"],"flag":"🇩🇲"},{"name":"Dominican Republic","code":"DO","languages":["spa"],"flag":"🇩🇴"},{"name":"East Timor","code":"TL","languages":["por","tet"],"flag":"🇹🇱"},{"name":"Ecuador","code":"EC","languages":["spa"],"flag":"🇪🇨"},{"name":"Egypt","code":"EG","languages":["ara"],"flag":"🇪🇬"},{"name":"El Salvador","code":"SV","languages":["spa"],"flag":"🇸🇻"},{"name":"Equatorial Guinea","code":"GQ","languages":["fra","por","spa"],"flag":"🇬🇶"},{"name":"Eritrea","code":"ER","languages":["ara","eng","tir"],"flag":"🇪🇷"},{"name":"Estonia","code":"EE","languages":["est"],"flag":"🇪🇪"},{"name":"Ethiopia","code":"ET","languages":["amh"],"flag":"🇪🇹"},{"name":"Falkland Islands","code":"FK","languages":["eng"],"flag":"🇫🇰"},{"name":"Faroe Islands","code":"FO","languages":["dan","fao"],"flag":"🇫🇴"},{"name":"Fiji","code":"FJ","languages":["eng","fij","hif"],"flag":"🇫🇯"},{"name":"Finland","code":"FI","languages":["fin","swe"],"flag":"🇫🇮"},{"name":"France","code":"FR","languages":["fra"],"flag":"🇫🇷"},{"name":"French Guiana","code":"GF","languages":["fra"],"flag":"🇬🇫"},{"name":"French Polynesia","code":"PF","languages":["fra"],"flag":"🇵🇫"},{"name":"French Southern Territories","code":"TF","languages":["fra"],"flag":"🇹🇫"},{"name":"Gabon","code":"GA","languages":["fra"],"flag":"🇬🇦"},{"name":"Gambia","code":"GM","languages":["eng"],"flag":"🇬🇲"},{"name":"Georgia","code":"GE","languages":["kat"],"flag":"🇬🇪"},{"name":"Germany","code":"DE","languages":["deu"],"flag":"🇩🇪"},{"name":"Ghana","code":"GH","languages":["eng"],"flag":"🇬🇭"},{"name":"Gibraltar","code":"GI","languages":["eng"],"flag":"🇬🇮"},{"name":"Greece","code":"GR","languages":["ell"],"flag":"🇬🇷"},{"name":"Greenland","code":"GL","languages":["kal"],"flag":"🇬🇱"},{"name":"Grenada","code":"GD","languages":["eng"],"flag":"🇬🇩"},{"name":"Guadeloupe","code":"GP","languages":["fra"],"flag":"🇬🇵"},{"name":"Guam","code":"GU","languages":["cha","eng","spa"],"flag":"🇬🇺"},{"name":"Guatemala","code":"GT","languages":["spa"],"flag":"🇬🇹"},{"name":"Guernsey","code":"GG","languages":["eng","fra","nfr"],"flag":"🇬🇬"},{"name":"Guinea","code":"GN","languages":["fra"],"flag":"🇬🇳"},{"name":"Guinea-Bissau","code":"GW","languages":["por","pov"],"flag":"🇬🇼"},{"name":"Guyana","code":"GY","languages":["eng"],"flag":"🇬🇾"},{"name":"Haiti","code":"HT","languages":["fra","hat"],"flag":"🇭🇹"},{"name":"Heard Island and McDonald Islands","code":"HM","languages":["eng"],"flag":"🇭🇲"},{"name":"Honduras","code":"HN","languages":["spa"],"flag":"🇭🇳"},{"name":"Hong Kong","code":"HK","languages":["eng","zho"],"flag":"🇭🇰"},{"name":"Hungary","code":"HU","languages":["hun"],"flag":"🇭🇺"},{"name":"Iceland","code":"IS","languages":["isl"],"flag":"🇮🇸"},{"name":"India","code":"IN","languages":["eng","hin","tam"],"flag":"🇮🇳"},{"name":"Indonesia","code":"ID","languages":["ind"],"flag":"🇮🇩"},{"name":"Iran","code":"IR","languages":["fas"],"flag":"🇮🇷"},{"name":"Iraq","code":"IQ","languages":["ara","arc","ckb"],"flag":"🇮🇶"},{"name":"Ireland","code":"IE","languages":["eng","gle"],"flag":"🇮🇪"},{"name":"Isle of Man","code":"IM","languages":["eng","glv"],"flag":"🇮🇲"},{"name":"Israel","code":"IL","languages":["ara","heb"],"flag":"🇮🇱"},{"name":"Italy","code":"IT","languages":["ita"],"flag":"🇮🇹"},{"name":"Ivory Coast","code":"CI","languages":["fra"],"flag":"🇨🇮"},{"name":"Jamaica","code":"JM","languages":["eng","jam"],"flag":"🇯🇲"},{"name":"Japan","code":"JP","languages":["jpn"],"flag":"🇯🇵"},{"name":"Jersey","code":"JE","languages":["eng","fra","nrf"],"flag":"🇯🇪"},{"name":"Jordan","code":"JO","languages":["ara"],"flag":"🇯🇴"},{"name":"Kazakhstan","code":"KZ","languages":["kaz","rus"],"flag":"🇰🇿"},{"name":"Kenya","code":"KE","languages":["eng","swa"],"flag":"🇰🇪"},{"name":"Kiribati","code":"KI","languages":["eng","gil"],"flag":"🇰🇮"},{"name":"Kosovo","code":"XK","languages":["sqi","srp"],"flag":"🇽🇰"},{"name":"Kuwait","code":"KW","languages":["ara"],"flag":"🇰🇼"},{"name":"Kyrgyzstan","code":"KG","languages":["kir","rus"],"flag":"🇰🇬"},{"name":"Laos","code":"LA","languages":["lao"],"flag":"🇱🇦"},{"name":"Latvia","code":"LV","languages":["lav"],"flag":"🇱🇻"},{"name":"Lebanon","code":"LB","languages":["ara","fra"],"flag":"🇱🇧"},{"name":"Lesotho","code":"LS","languages":["eng","sot"],"flag":"🇱🇸"},{"name":"Liberia","code":"LR","languages":["eng"],"flag":"🇱🇷"},{"name":"Libya","code":"LY","languages":["ara"],"flag":"🇱🇾"},{"name":"Liechtenstein","code":"LI","languages":["deu"],"flag":"🇱🇮"},{"name":"Lithuania","code":"LT","languages":["lit"],"flag":"🇱🇹"},{"name":"Luxembourg","code":"LU","languages":["deu","fra","ltz"],"flag":"🇱🇺"},{"name":"Macao","code":"MO","languages":["por","zho"],"flag":"🇲🇴"},{"name":"Madagascar","code":"MG","languages":["fra","mlg"],"flag":"🇲🇬"},{"name":"Malawi","code":"MW","languages":["eng","nya"],"flag":"🇲🇼"},{"name":"Malaysia","code":"MY","languages":["eng","msa"],"flag":"🇲🇾"},{"name":"Maldives","code":"MV","languages":["div"],"flag":"🇲🇻"},{"name":"Mali","code":"ML","languages":["fra"],"flag":"🇲🇱"},{"name":"Malta","code":"MT","languages":["eng","mlt"],"flag":"🇲🇹"},{"name":"Marshall Islands","code":"MH","languages":["eng","mah"],"flag":"🇲🇭"},{"name":"Martinique","code":"MQ","languages":["fra"],"flag":"🇲🇶"},{"name":"Mauritania","code":"MR","languages":["ara"],"flag":"🇲🇷"},{"name":"Mauritius","code":"MU","languages":["eng","fra","mfe"],"flag":"🇲🇺"},{"name":"Mayotte","code":"YT","languages":["fra"],"flag":"🇾🇹"},{"name":"Mexico","code":"MX","languages":["spa"],"flag":"🇲🇽"},{"name":"Micronesia","code":"FM","languages":["eng"],"flag":"🇫🇲"},{"name":"Moldova","code":"MD","languages":["ron"],"flag":"🇲🇩"},{"name":"Monaco","code":"MC","languages":["fra"],"flag":"🇲🇨"},{"name":"Mongolia","code":"MN","languages":["mon"],"flag":"🇲🇳"},{"name":"Montenegro","code":"ME","languages":["cnr"],"flag":"🇲🇪"},{"name":"Montserrat","code":"MS","languages":["eng"],"flag":"🇲🇸"},{"name":"Morocco","code":"MA","languages":["ara","zgh"],"flag":"🇲🇦"},{"name":"Mozambique","code":"MZ","languages":["por"],"flag":"🇲🇿"},{"name":"Myanmar (Burma)","code":"MM","languages":["mya"],"flag":"🇲🇲"},{"name":"Namibia","code":"NA","languages":["afr","deu","eng","her","hgm","kwn","loz","ndo","tsn"],"flag":"🇳🇦"},{"name":"Nauru","code":"NR","languages":["eng","nau"],"flag":"🇳🇷"},{"name":"Nepal","code":"NP","languages":["nep"],"flag":"🇳🇵"},{"name":"Netherlands","code":"NL","languages":["nld"],"flag":"🇳🇱"},{"name":"New Caledonia","code":"NC","languages":["fra"],"flag":"🇳🇨"},{"name":"New Zealand","code":"NZ","languages":["eng","mri","nzs"],"flag":"🇳🇿"},{"name":"Nicaragua","code":"NI","languages":["spa"],"flag":"🇳🇮"},{"name":"Niger","code":"NE","languages":["fra"],"flag":"🇳🇪"},{"name":"Nigeria","code":"NG","languages":["eng"],"flag":"🇳🇬"},{"name":"Niue","code":"NU","languages":["eng","niu"],"flag":"🇳🇺"},{"name":"Norfolk Island","code":"NF","languages":["eng","pih"],"flag":"🇳🇫"},{"name":"North Korea","code":"KP","languages":["kor"],"flag":"🇰🇵"},{"name":"North Macedonia","code":"MK","languages":["mkd"],"flag":"🇲🇰"},{"name":"Northern Mariana Islands","code":"MP","languages":["cal","cha","eng"],"flag":"🇲🇵"},{"name":"Norway","code":"NO","languages":["nno","nob","sme","smj","sma"],"flag":"🇳🇴"},{"name":"Oman","code":"OM","languages":["ara"],"flag":"🇴🇲"},{"name":"Pakistan","code":"PK","languages":["eng","urd"],"flag":"🇵🇰"},{"name":"Palau","code":"PW","languages":["eng","pau"],"flag":"🇵🇼"},{"name":"Palestine","code":"PS","languages":["ara"],"flag":"🇵🇸"},{"name":"Panama","code":"PA","languages":["spa"],"flag":"🇵🇦"},{"name":"Papua New Guinea","code":"PG","languages":["eng","hmo","tpi"],"flag":"🇵🇬"},{"name":"Paraguay","code":"PY","languages":["grn","spa"],"flag":"🇵🇾"},{"name":"Peru","code":"PE","languages":["aym","que","spa"],"flag":"🇵🇪"},{"name":"Philippines","code":"PH","languages":["eng","fil"],"flag":"🇵🇭"},{"name":"Pitcairn Islands","code":"PN","languages":["eng"],"flag":"🇵🇳"},{"name":"Poland","code":"PL","languages":["pol"],"flag":"🇵🇱"},{"name":"Portugal","code":"PT","languages":["por"],"flag":"🇵🇹"},{"name":"Puerto Rico","code":"PR","languages":["eng","spa"],"flag":"🇵🇷"},{"name":"Qatar","code":"QA","languages":["ara"],"flag":"🇶🇦"},{"name":"Republic of the Congo","code":"CG","languages":["fra","kon","lin"],"flag":"🇨🇬"},{"name":"Romania","code":"RO","languages":["ron"],"flag":"🇷🇴"},{"name":"Russia","code":"RU","languages":["rus"],"flag":"🇷🇺"},{"name":"Rwanda","code":"RW","languages":["eng","fra","kin"],"flag":"🇷🇼"},{"name":"Réunion","code":"RE","languages":["fra"],"flag":"🇷🇪"},{"name":"Saint Barthélemy","code":"BL","languages":["fra"],"flag":"🇧🇱"},{"name":"Saint Helena","code":"SH","languages":["eng"],"flag":"🇸🇭"},{"name":"Saint Kitts and Nevis","code":"KN","languages":["eng"],"flag":"🇰🇳"},{"name":"Saint Lucia","code":"LC","languages":["eng"],"flag":"🇱🇨"},{"name":"Saint Martin","code":"MF","languages":["fra"],"flag":"🇲🇫"},{"name":"Saint Pierre and Miquelon","code":"PM","languages":["fra"],"flag":"🇵🇲"},{"name":"Saint Vincent and the Grenadines","code":"VC","languages":["eng"],"flag":"🇻🇨"},{"name":"Samoa","code":"WS","languages":["eng","smo"],"flag":"🇼🇸"},{"name":"San Marino","code":"SM","languages":["ita"],"flag":"🇸🇲"},{"name":"Saudi Arabia","code":"SA","languages":["ara"],"flag":"🇸🇦"},{"name":"Senegal","code":"SN","languages":["fra"],"flag":"🇸🇳"},{"name":"Serbia","code":"RS","languages":["srp"],"flag":"🇷🇸"},{"name":"Seychelles","code":"SC","languages":["crs","eng","fra"],"flag":"🇸🇨"},{"name":"Sierra Leone","code":"SL","languages":["eng"],"flag":"🇸🇱"},{"name":"Singapore","code":"SG","languages":["zho","eng","msa","tam"],"flag":"🇸🇬"},{"name":"Sint Maarten","code":"SX","languages":["eng","fra","nld"],"flag":"🇸🇽"},{"name":"Slovakia","code":"SK","languages":["slk"],"flag":"🇸🇰"},{"name":"Slovenia","code":"SI","languages":["slv"],"flag":"🇸🇮"},{"name":"Solomon Islands","code":"SB","languages":["eng"],"flag":"🇸🇧"},{"name":"Somalia","code":"SO","languages":["ara","som"],"flag":"🇸🇴"},{"name":"South Africa","code":"ZA","languages":["afr","eng","nbl","nso","sot","ssw","tsn","tso","ven","xho","zul"],"flag":"🇿🇦"},{"name":"South Georgia and the South Sandwich Islands","code":"GS","languages":["eng"],"flag":"🇬🇸"},{"name":"South Korea","code":"KR","languages":["kor"],"flag":"🇰🇷"},{"name":"South Sudan","code":"SS","languages":["eng"],"flag":"🇸🇸"},{"name":"Spain","code":"ES","languages":["spa"],"flag":"🇪🇸"},{"name":"Sri Lanka","code":"LK","languages":["sin","tam"],"flag":"🇱🇰"},{"name":"Sudan","code":"SD","languages":["ara","eng"],"flag":"🇸🇩"},{"name":"Suriname","code":"SR","languages":["nld"],"flag":"🇸🇷"},{"name":"Svalbard and Jan Mayen","code":"SJ","languages":["nor"],"flag":"🇸🇯"},{"name":"Swaziland","code":"SZ","languages":["eng","ssw"],"flag":"🇸🇿"},{"name":"Sweden","code":"SE","languages":["swe"],"flag":"🇸🇪"},{"name":"Switzerland","code":"CH","languages":["fra","gsw","ita","roh"],"flag":"🇨🇭"},{"name":"Syria","code":"SY","languages":["ara"],"flag":"🇸🇾"},{"name":"São Tomé and Príncipe","code":"ST","languages":["por"],"flag":"🇸🇹"},{"name":"Taiwan","code":"TW","languages":["zho"],"flag":"🇹🇼"},{"name":"Tajikistan","code":"TJ","languages":["rus","tgk"],"flag":"🇹🇯"},{"name":"Tanzania","code":"TZ","languages":["eng","swa"],"flag":"🇹🇿"},{"name":"Thailand","code":"TH","languages":["tha"],"flag":"🇹🇭"},{"name":"Togo","code":"TG","languages":["fra"],"flag":"🇹🇬"},{"name":"Tokelau","code":"TK","languages":["eng","smo","tkl"],"flag":"🇹🇰"},{"name":"Tonga","code":"TO","languages":["eng","ton"],"flag":"🇹🇴"},{"name":"Trinidad and Tobago","code":"TT","languages":["eng"],"flag":"🇹🇹"},{"name":"Tunisia","code":"TN","languages":["ara"],"flag":"🇹🇳"},{"name":"Turkey","code":"TR","languages":["tur"],"flag":"🇹🇷"},{"name":"Turkmenistan","code":"TM","languages":["rus","tuk"],"flag":"🇹🇲"},{"name":"Turks and Caicos Islands","code":"TC","languages":["eng"],"flag":"🇹🇨"},{"name":"Tuvalu","code":"TV","languages":["eng","tvl"],"flag":"🇹🇻"},{"name":"U.S. Minor Outlying Islands","code":"UM","languages":["eng"],"flag":"🇺🇲"},{"name":"U.S. Virgin Islands","code":"VI","languages":["eng"],"flag":"🇻🇮"},{"name":"Uganda","code":"UG","languages":["eng","swa"],"flag":"🇺🇬"},{"name":"Ukraine","code":"UA","languages":["ukr"],"flag":"🇺🇦"},{"name":"United Arab Emirates","code":"AE","languages":["ara"],"flag":"🇦🇪"},{"name":"United Kingdom","code":"UK","languages":["eng"],"flag":"🇬🇧"},{"name":"United States","code":"US","languages":["eng"],"flag":"🇺🇸"},{"name":"Uruguay","code":"UY","languages":["spa"],"flag":"🇺🇾"},{"name":"Uzbekistan","code":"UZ","languages":["rus","uzb"],"flag":"🇺🇿"},{"name":"Vanuatu","code":"VU","languages":["bis","eng","fra"],"flag":"🇻🇺"},{"name":"Vatican City","code":"VA","languages":["ita","lat"],"flag":"🇻🇦"},{"name":"Venezuela","code":"VE","languages":["spa"],"flag":"🇻🇪"},{"name":"Vietnam","code":"VN","languages":["vie"],"flag":"🇻🇳"},{"name":"Wallis and Futuna","code":"WF","languages":["fra"],"flag":"🇼🇫"},{"name":"Western Sahara","code":"EH","languages":["zgh","mey","spa"],"flag":"🇪🇭"},{"name":"Yemen","code":"YE","languages":["ara"],"flag":"🇾🇪"},{"name":"Zambia","code":"ZM","languages":["eng"],"flag":"🇿🇲"},{"name":"Zimbabwe","code":"ZW","languages":["bwg","eng","kck","hio","ndc","nde","nya","sna","sot","toi","tsn","tso","ven","xho","zib"],"flag":"🇿🇼"},{"name":"Åland","code":"AX","languages":["swe"],"flag":"🇦🇽"}] \ No newline at end of file diff --git a/tests/__data__/input/tmp/data/regions.json b/tests/__data__/input/tmp/data/regions.json new file mode 100644 index 00000000..0741930a --- /dev/null +++ b/tests/__data__/input/tmp/data/regions.json @@ -0,0 +1 @@ +[{"code":"AFR","name":"Africa","countries":["AO","BF","BI","BJ","BW","CD","CF","CG","CI","CM","CV","DJ","DZ","EG","EH","ER","ET","GA","GH","GM","GN","GQ","GW","KE","KM","LR","LS","LY","MA","MG","ML","MR","MU","MW","MZ","NA","NE","NG","RE","RW","SC","SD","SH","SL","SN","SO","SS","ST","SZ","TD","TF","TG","TN","TZ","UG","YT","ZA","ZM","ZW"]},{"code":"AMER","name":"Americas","countries":["AG","AI","AR","AW","BB","BL","BM","BO","BR","BS","BV","BZ","CA","CL","CO","CR","CU","CW","DM","DO","EC","FK","GD","GF","GL","GP","GS","GT","GY","HN","HT","JM","KN","KY","LC","MF","MQ","MS","MX","NI","PA","PE","PM","PR","PY","SR","SV","SX","TC","TT","US","UY","VC","VE","VG","VI"]},{"code":"APAC","name":"Asia-Pacific","countries":["AF","AS","AU","BD","BN","BT","CK","CN","FJ","FM","GU","ID","IN","JP","KH","KI","KP","KR","LA","LK","MH","MM","MN","MP","MV","MY","NC","NF","NP","NR","NU","NZ","PF","PG","PH","PK","PN","PW","SB","SG","TH","TK","TL","TO","TV","TW","VN","VU","WF","WS"]},{"code":"ARAB","name":"Arab world","countries":["AE","BH","DJ","DZ","EG","IQ","JO","KM","KW","LB","LY","MA","MR","OM","PS","QA","SA","SD","SO","SY","TN","YE"]},{"code":"ASEAN","name":"Association of Southeast Asian Nations","countries":["BN","KH","ID","LA","MY","MM","PH","SG","TH","VN"]},{"code":"ASIA","name":"Asia","countries":["AE","AF","AM","AZ","BD","BH","BN","BT","CN","CY","GE","ID","IL","IN","IQ","IR","JO","JP","KG","KH","KP","KR","KW","KZ","LA","LB","LK","MM","MN","MV","MY","NP","OM","PH","PK","PS","QA","RU","SA","SG","SY","TH","TJ","TL","TM","TR","TW","UZ","VN","YE"]},{"code":"CARIB","name":"Caribbean","countries":["AG","AI","AW","BB","BL","BS","CU","CW","DM","DO","GD","GP","HT","JM","KN","KY","LC","MF","MQ","MS","PR","SX","TC","TT","VC","VG","VI"]},{"code":"CAS","name":"Central Asia","countries":["KG","KZ","TJ","TM","UZ"]},{"code":"CENAMER","name":"Central America","countries":["BZ","CR","SV","GT","HN","NI","PA"]},{"code":"CIS","name":"Commonwealth of Independent States","countries":["AM","AZ","BY","KG","KZ","MD","RU","TJ","UZ"]},{"code":"EMEA","name":"Europe, the Middle East and Africa","countries":["AD","AE","AL","AM","AO","AT","AZ","BA","BE","BF","BG","BH","BI","BJ","BW","BY","CD","CF","CG","CH","CI","CM","CV","CY","CZ","DE","DJ","DK","DZ","EE","EG","EH","ER","ES","ET","FI","FR","GA","GE","GH","GM","GN","GQ","GR","GW","HR","HU","IE","IQ","IR","IS","IT","JO","KE","KM","KW","KZ","LB","LI","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MK","ML","MR","MT","MU","MW","MZ","NA","NE","NG","NL","NO","OM","PL","PS","PT","QA","RE","RO","RS","RU","RW","SA","SC","SD","SE","SH","SI","SK","SL","SM","SN","SO","SS","ST","SY","SZ","TD","TF","TG","TN","TR","TZ","UA","UG","UK","VA","YE","YT","ZA","ZM","ZW"]},{"code":"EUR","name":"Europe","countries":["AD","AL","AM","AT","AZ","BA","BE","BG","BY","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GE","GR","HR","HU","IE","IS","IT","KZ","LI","LT","LU","LV","MC","MD","ME","MK","MT","NL","NO","PL","PT","RO","RS","RU","SE","SI","SK","SM","TR","UA","UK","VA"]},{"code":"HISPAM","name":"Hispanic America","countries":["AR","BO","CL","CO","CR","CU","DO","EC","GT","HN","MX","NI","PA","PE","PR","PY","SV","UY","VE"]},{"code":"INT","name":"Worldwide","countries":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","UK","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"]},{"code":"LAC","name":"Latin America and the Caribbean","countries":["AG","AI","AR","AW","BB","BL","BO","BR","BS","CL","CO","CR","CU","CW","DM","DO","EC","GD","GF","GP","GT","HN","HT","JM","KN","KY","LC","MF","MQ","MS","MX","NI","PA","PE","PR","PY","SV","SX","TC","TT","UY","VC","VE","VG","VI"]},{"code":"LATAM","name":"Latin America","countries":["AR","BL","BO","BR","CL","CO","CR","CU","DO","EC","GF","GP","GT","HN","HT","MF","MQ","MX","NI","PA","PE","PR","PY","SV","UY","VE"]},{"code":"MAGHREB","name":"Maghreb","countries":["DZ","LY","MA","MR","TN"]},{"code":"MENA","name":"Middle East and North Africa","countries":["AE","BH","CY","DJ","DZ","EG","EH","IL","IQ","IR","JO","KW","LB","LY","MA","OM","PS","QA","SA","SD","SY","TN","TR","YE"]},{"code":"MIDEAST","name":"Middle East","countries":["AE","BH","CY","EG","IL","IQ","IR","JO","KW","LB","OM","PS","QA","SA","SY","TR","YE"]},{"code":"NAM","name":"Northern America","countries":["BM","CA","GL","PM","US"]},{"code":"NORAM","name":"North America","countries":["AG","AI","AW","BB","BL","BM","BS","BZ","CA","CR","CU","CW","DM","DO","GD","GL","GP","GT","HN","HT","JM","KN","KY","LC","MF","MQ","MS","MX","NI","PA","PM","PR","SV","SX","TC","TT","US","VC","VG","VI"]},{"code":"NORD","name":"Nordics","countries":["AX","DK","FO","FI","IS","NO","SE"]},{"code":"OCE","name":"Oceania","countries":["AS","AU","CK","FJ","FM","GU","KI","MH","MP","NC","NF","NR","NU","NZ","PF","PG","PN","PW","SB","TK","TO","TV","VU","WF","WS"]},{"code":"SAS","name":"South Asia","countries":["AF","BD","BT","IN","LK","MV","NP","PK"]},{"code":"SOUTHAM","name":"South America","countries":["AR","BO","BR","CL","CO","EC","PY","PE","UY","VE","BV","FK","GF","GY","GS","SR"]},{"code":"SSA","name":"Sub-Saharan Africa","countries":["AO","BF","BI","BJ","BW","CD","CF","CG","CI","CM","CV","DJ","ER","ET","GA","GH","GM","GN","GQ","GW","KE","KM","LR","LS","MG","ML","MR","MU","MW","MZ","NA","NE","NG","RW","SC","SD","SL","SN","SO","SS","ST","SZ","TD","TG","TZ","UG","ZA","ZM","ZW"]},{"code":"WAFR","name":"West Africa","countries":["BF","BJ","CI","CV","GH","GM","GN","GW","LR","ML","MR","NE","NG","SH","SL","SN","TG"]}] \ No newline at end of file diff --git a/tests/__data__/input/tmp/data/subdivisions.json b/tests/__data__/input/tmp/data/subdivisions.json new file mode 100644 index 00000000..dea26f94 --- /dev/null +++ b/tests/__data__/input/tmp/data/subdivisions.json @@ -0,0 +1,352 @@ +[ + { + "country": "CA", + "name": "Alberta", + "code": "CA-AB" + }, + { + "country": "CA", + "name": "British Columbia", + "code": "CA-BC" + }, + { + "country": "CA", + "name": "Manitoba", + "code": "CA-MB" + }, + { + "country": "CA", + "name": "New Brunswick", + "code": "CA-NB" + }, + { + "country": "CA", + "name": "Newfoundland and Labrador", + "code": "CA-NL" + }, + { + "country": "CA", + "name": "Northwest Territories", + "code": "CA-NT" + }, + { + "country": "CA", + "name": "Nova Scotia", + "code": "CA-NS" + }, + { + "country": "CA", + "name": "Nunavut", + "code": "CA-NU" + }, + { + "country": "CA", + "name": "Ontario", + "code": "CA-ON" + }, + { + "country": "CA", + "name": "Prince Edward Island", + "code": "CA-PE" + }, + { + "country": "CA", + "name": "Quebec", + "code": "CA-QC" + }, + { + "country": "CA", + "name": "Saskatchewan", + "code": "CA-SK" + }, + { + "country": "CA", + "name": "Yukon", + "code": "CA-YT" + }, + { + "country": "US", + "name": "Alabama", + "code": "US-AL" + }, + { + "country": "US", + "name": "Alaska", + "code": "US-AK" + }, + { + "country": "US", + "name": "American Samoa", + "code": "US-AS" + }, + { + "country": "US", + "name": "Arizona", + "code": "US-AZ" + }, + { + "country": "US", + "name": "Arkansas", + "code": "US-AR" + }, + { + "country": "US", + "name": "California", + "code": "US-CA" + }, + { + "country": "US", + "name": "Colorado", + "code": "US-CO" + }, + { + "country": "US", + "name": "Connecticut", + "code": "US-CT" + }, + { + "country": "US", + "name": "Delaware", + "code": "US-DE" + }, + { + "country": "US", + "name": "District of Columbia", + "code": "US-DC" + }, + { + "country": "US", + "name": "Florida", + "code": "US-FL" + }, + { + "country": "US", + "name": "Georgia", + "code": "US-GA" + }, + { + "country": "US", + "name": "Guam", + "code": "US-GU" + }, + { + "country": "US", + "name": "Hawaii", + "code": "US-HI" + }, + { + "country": "US", + "name": "Idaho", + "code": "US-ID" + }, + { + "country": "US", + "name": "Illinois", + "code": "US-IL" + }, + { + "country": "US", + "name": "Indiana", + "code": "US-IN" + }, + { + "country": "US", + "name": "Iowa", + "code": "US-IA" + }, + { + "country": "US", + "name": "Kansas", + "code": "US-KS" + }, + { + "country": "US", + "name": "Kentucky", + "code": "US-KY" + }, + { + "country": "US", + "name": "Louisiana", + "code": "US-LA" + }, + { + "country": "US", + "name": "Maine", + "code": "US-ME" + }, + { + "country": "US", + "name": "Maryland", + "code": "US-MD" + }, + { + "country": "US", + "name": "Massachusetts", + "code": "US-MA" + }, + { + "country": "US", + "name": "Michigan", + "code": "US-MI" + }, + { + "country": "US", + "name": "Minnesota", + "code": "US-MN" + }, + { + "country": "US", + "name": "Mississippi", + "code": "US-MS" + }, + { + "country": "US", + "name": "Missouri", + "code": "US-MO" + }, + { + "country": "US", + "name": "Montana", + "code": "US-MT" + }, + { + "country": "US", + "name": "Nebraska", + "code": "US-NE" + }, + { + "country": "US", + "name": "Nevada", + "code": "US-NV" + }, + { + "country": "US", + "name": "New Hampshire", + "code": "US-NH" + }, + { + "country": "US", + "name": "New Jersey", + "code": "US-NJ" + }, + { + "country": "US", + "name": "New Mexico", + "code": "US-NM" + }, + { + "country": "US", + "name": "New York", + "code": "US-NY" + }, + { + "country": "US", + "name": "North Carolina", + "code": "US-NC" + }, + { + "country": "US", + "name": "North Dakota", + "code": "US-ND" + }, + { + "country": "US", + "name": "Northern Mariana Islands", + "code": "US-MP" + }, + { + "country": "US", + "name": "Ohio", + "code": "US-OH" + }, + { + "country": "US", + "name": "Oklahoma", + "code": "US-OK" + }, + { + "country": "US", + "name": "Oregon", + "code": "US-OR" + }, + { + "country": "US", + "name": "Pennsylvania", + "code": "US-PA" + }, + { + "country": "US", + "name": "Puerto Rico", + "code": "US-PR" + }, + { + "country": "US", + "name": "Rhode Island", + "code": "US-RI" + }, + { + "country": "US", + "name": "South Carolina", + "code": "US-SC" + }, + { + "country": "US", + "name": "South Dakota", + "code": "US-SD" + }, + { + "country": "US", + "name": "Tennessee", + "code": "US-TN" + }, + { + "country": "US", + "name": "Texas", + "code": "US-TX" + }, + { + "country": "US", + "name": "U.S. Virgin Islands", + "code": "US-VI" + }, + { + "country": "US", + "name": "United States Minor Outlying Islands", + "code": "US-UM" + }, + { + "country": "US", + "name": "Utah", + "code": "US-UT" + }, + { + "country": "US", + "name": "Vermont", + "code": "US-VT" + }, + { + "country": "US", + "name": "Virginia", + "code": "US-VA" + }, + { + "country": "US", + "name": "Washington", + "code": "US-WA" + }, + { + "country": "US", + "name": "West Virginia", + "code": "US-WV" + }, + { + "country": "US", + "name": "Wisconsin", + "code": "US-WI" + }, + { + "country": "US", + "name": "Wyoming", + "code": "US-WY" + } +] \ No newline at end of file From 90c52e060779f5143db05e3604e463b43e9ffac4 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:11:34 +0300 Subject: [PATCH 06/17] Update .gitignore --- tests/__data__/.gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/__data__/.gitignore b/tests/__data__/.gitignore index d0dea4f0..2c04c9d8 100644 --- a/tests/__data__/.gitignore +++ b/tests/__data__/.gitignore @@ -1,2 +1 @@ -output/ -temp/ \ No newline at end of file +/output/ \ No newline at end of file From 4f0f4276f5d37728d6da51840d1b71ec258b8636 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:11:54 +0300 Subject: [PATCH 07/17] Update tests/__data__ --- tests/__data__/input/sites/duplicate.channels.xml | 4 ++-- tests/__data__/input/sites/example.com_en.channels.xml | 4 ++-- tests/__data__/input/sites/example.com_ru.channels.xml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/__data__/input/sites/duplicate.channels.xml b/tests/__data__/input/sites/duplicate.channels.xml index 84130798..deba9dac 100644 --- a/tests/__data__/input/sites/duplicate.channels.xml +++ b/tests/__data__/input/sites/duplicate.channels.xml @@ -1,7 +1,7 @@ - CNN International - CNN International + Bravo + Bravo \ No newline at end of file diff --git a/tests/__data__/input/sites/example.com_en.channels.xml b/tests/__data__/input/sites/example.com_en.channels.xml index e6a6a1f8..44520703 100644 --- a/tests/__data__/input/sites/example.com_en.channels.xml +++ b/tests/__data__/input/sites/example.com_en.channels.xml @@ -1,7 +1,7 @@ - CNN International - CNN International Europe 2 + Channel 1 + Channel 2 \ No newline at end of file diff --git a/tests/__data__/input/sites/example.com_ru.channels.xml b/tests/__data__/input/sites/example.com_ru.channels.xml index a88c349b..fc21be06 100644 --- a/tests/__data__/input/sites/example.com_ru.channels.xml +++ b/tests/__data__/input/sites/example.com_ru.channels.xml @@ -1,6 +1,6 @@ - CNN International + Channel 1 \ No newline at end of file From bc7d5ce06b0f712d092bf37e64453ef701f67f0d Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:12:12 +0300 Subject: [PATCH 08/17] Update lint.test.js --- tests/commands/channels/lint.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/commands/channels/lint.test.js b/tests/commands/channels/lint.test.js index 9c758af4..2563ccfc 100644 --- a/tests/commands/channels/lint.test.js +++ b/tests/commands/channels/lint.test.js @@ -13,7 +13,7 @@ it('will show a message if the file contains a syntax error', () => { } catch (err) { expect(err.status).toBe(1) expect(err.stdout).toBe( - `\n> channels:lint\n> node scripts/commands/channels/lint.js\n\n\ntests/__data__/input/sites/lint.channels.xml\n 4:0 Element 'channel': The attribute 'lang' is required but missing.\n\n1 error(s)\n` + `\n> channels:lint\n> node scripts/commands/channels/lint.js tests/__data__/input/sites/lint.channels.xml\n\n\ntests/__data__/input/sites/lint.channels.xml\n 4:0 Element 'channel': The attribute 'lang' is required but missing.\n\n1 error(s)\n` ) } }) From cf11a9e1ba2e3365abc048a20df780e07b6c2290 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:12:16 +0300 Subject: [PATCH 09/17] Update validate.test.js --- tests/commands/channels/validate.test.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/commands/channels/validate.test.js b/tests/commands/channels/validate.test.js index 9ee8053f..337fff41 100644 --- a/tests/commands/channels/validate.test.js +++ b/tests/commands/channels/validate.test.js @@ -3,7 +3,7 @@ const { execSync } = require('child_process') it('will show a message if the file contains a duplicate', () => { try { const stdout = execSync( - 'DATA_DIR=tests/__data__/input/data npm run channels:validate -- tests/__data__/input/sites/duplicate.channels.xml', + 'DATA_DIR=tests/__data__/input/tmp/data npm run channels:validate -- tests/__data__/input/sites/duplicate.channels.xml', { encoding: 'utf8' } @@ -13,12 +13,12 @@ it('will show a message if the file contains a duplicate', () => { } catch (err) { expect(err.status).toBe(1) expect(err.stdout).toBe( - `\n> channels:validate\n> node scripts/commands/channels/validate.js\n\ntests/__data__/input/sites/duplicate.channels.xml -┌─────────┬─────────────┬──────┬─────────────────────────────┬─────────┬─────────────────────┐ -│ (index) │ type │ lang │ xmltv_id │ site_id │ name │ -├─────────┼─────────────┼──────┼─────────────────────────────┼─────────┼─────────────────────┤ -│ 0 │ 'duplicate' │ 'en' │ 'CNNInternationalEurope.us' │ '140' │ 'CNN International' │ -└─────────┴─────────────┴──────┴─────────────────────────────┴─────────┴─────────────────────┘ + `\n> channels:validate\n> node scripts/commands/channels/validate.js tests/__data__/input/sites/duplicate.channels.xml\n\ntests/__data__/input/sites/duplicate.channels.xml +┌─────────┬─────────────┬──────┬────────────────┬─────────┬─────────┐ +│ (index) │ type │ lang │ xmltv_id │ site_id │ name │ +├─────────┼─────────────┼──────┼────────────────┼─────────┼─────────┤ +│ 0 │ 'duplicate' │ 'en' │ 'BravoEast.us' │ '140' │ 'Bravo' │ +└─────────┴─────────────┴──────┴────────────────┴─────────┴─────────┘ \n1 error(s) in 1 file(s)\n` ) } @@ -27,7 +27,7 @@ it('will show a message if the file contains a duplicate', () => { it('will show a message if the file contains a channel with wrong xmltv_id', () => { try { const stdout = execSync( - 'DATA_DIR=tests/__data__/input/data npm run channels:validate -- tests/__data__/input/sites/wrong_xmltv_id.channels.xml', + 'DATA_DIR=tests/__data__/input/tmp/data npm run channels:validate -- tests/__data__/input/sites/wrong_xmltv_id.channels.xml', { encoding: 'utf8' } @@ -37,7 +37,7 @@ it('will show a message if the file contains a channel with wrong xmltv_id', () } catch (err) { expect(err.status).toBe(1) expect(err.stdout).toBe( - `\n> channels:validate\n> node scripts/commands/channels/validate.js\n\ntests/__data__/input/sites/wrong_xmltv_id.channels.xml + `\n> channels:validate\n> node scripts/commands/channels/validate.js tests/__data__/input/sites/wrong_xmltv_id.channels.xml\n\ntests/__data__/input/sites/wrong_xmltv_id.channels.xml ┌─────────┬──────────────────┬──────┬────────────────────┬─────────┬─────────────────────┐ │ (index) │ type │ lang │ xmltv_id │ site_id │ name │ ├─────────┼──────────────────┼──────┼────────────────────┼─────────┼─────────────────────┤ From 33f08be1f3d8913da2fce4f2f0c13f7c95146082 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:12:21 +0300 Subject: [PATCH 10/17] Delete .gitignore --- scripts/.gitignore | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 scripts/.gitignore diff --git a/scripts/.gitignore b/scripts/.gitignore deleted file mode 100644 index 220083a6..00000000 --- a/scripts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/database/ -/logs/ -/data/ \ No newline at end of file From 4a5cea8a724014b624a8e44526b4ab6295702bed Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:12:55 +0300 Subject: [PATCH 11/17] Update validate.js --- scripts/commands/channels/validate.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/commands/channels/validate.js b/scripts/commands/channels/validate.js index c1b216c2..431e976c 100644 --- a/scripts/commands/channels/validate.js +++ b/scripts/commands/channels/validate.js @@ -26,27 +26,27 @@ async function main() { const bufferBySiteId = {} const errors = [] for (const channel of channels) { - if (!bufferById[channel.id + channel.lang]) { - bufferById[channel.id + channel.lang] = channel + if (!bufferById[channel.xmltv_id + channel.lang]) { + bufferById[channel.xmltv_id + channel.lang] = channel } else { - errors.push({ type: 'duplicate', xmltv_id: channel.id, ...channel }) + errors.push({ type: 'duplicate', ...channel }) stats.errors++ } if (!bufferBySiteId[channel.site_id + channel.lang]) { bufferBySiteId[channel.site_id + channel.lang] = channel } else { - errors.push({ type: 'duplicate', xmltv_id: channel.id, ...channel }) + errors.push({ type: 'duplicate', ...channel }) stats.errors++ } - if (!api.channels.find({ id: channel.id })) { - errors.push({ type: 'wrong_xmltv_id', xmltv_id: channel.id, ...channel }) + if (!api.channels.find({ id: channel.xmltv_id })) { + errors.push({ type: 'wrong_xmltv_id', ...channel }) stats.errors++ } if (!langs.where('1', channel.lang)) { - errors.push({ type: 'wrong_lang', xmltv_id: channel.id, ...channel }) + errors.push({ type: 'wrong_lang', ...channel }) stats.errors++ } } From 98eef5b60784c8bdc568959af1ef8f939033d204 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:15:04 +0300 Subject: [PATCH 12/17] Update dependencies --- package-lock.json | 1058 ++++++++++++++++++++++++++++++++++++++++++++- yarn.lock | 383 +++++++++++++++- 2 files changed, 1414 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index 96145b04..029b33af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "commander": "^8.2.0", "csv-parser": "^3.0.0", "dayjs": "^1.10.8", - "epg-grabber": "^0.29.7", + "epg-grabber": "^0.30.2", "epg-parser": "^0.2.0", "form-data": "^4.0.0", "fs-extra": "^10.0.1", @@ -33,6 +33,7 @@ "node-gzip": "^1.1.2", "parse-duration": "^1.0.0", "pdf-parse": "^1.1.1", + "serve": "^14.2.0", "signale": "^1.4.0", "srcset": "^4.0.0", "table2array": "^0.0.2", @@ -1284,6 +1285,11 @@ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" }, + "node_modules/@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==" + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -1294,6 +1300,18 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", @@ -1369,6 +1387,14 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -1422,6 +1448,25 @@ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", @@ -1434,6 +1479,11 @@ "node": ">=10" } }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -1642,6 +1692,133 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1730,6 +1907,14 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/cache-parser": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.4.tgz", @@ -1820,6 +2005,20 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -1898,6 +2097,17 @@ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -1928,6 +2138,22 @@ "node": ">= 10" } }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -2063,6 +2289,47 @@ "node": ">= 12" } }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2073,6 +2340,14 @@ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -2237,6 +2512,14 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2390,6 +2673,11 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, "node_modules/electron-to-chromium": { "version": "1.4.284", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", @@ -2436,9 +2724,9 @@ } }, "node_modules/epg-grabber": { - "version": "0.29.7", - "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.29.7.tgz", - "integrity": "sha512-wvjevMnrJD/fr4TaJ0Wh4Y2Kyy0LLQtp+bOEsHFCsF8oe53jUnThOlUYsAT49Sx5v7A6K9GheGxDAXOpLXV67A==", + "version": "0.30.2", + "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.30.2.tgz", + "integrity": "sha512-Ao8hM1yizk5tuNeskER0YmU3IWRFzBCjgKnRpCHpLNKCkst28AmicN/Bzi32EXE06hl8yXQnKKwKnp7/PCI/Xw==", "dependencies": { "axios": "^0.21.1", "axios-cache-interceptor": "^0.10.3", @@ -2448,6 +2736,7 @@ "curl-generator": "^0.2.0", "dayjs": "^1.10.4", "epg-parser": "^0.1.6", + "fs-extra": "^11.1.1", "glob": "^7.1.6", "lodash": "^4.17.21", "node-gzip": "^1.1.2", @@ -2478,6 +2767,19 @@ "xml-js": "^1.6.11" } }, + "node_modules/epg-grabber/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/epg-parser": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/epg-parser/-/epg-parser-0.2.0.tgz", @@ -2884,6 +3186,19 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, "node_modules/fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -3241,9 +3556,9 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "node_modules/http-proxy-agent": { "version": "4.0.1", @@ -3399,6 +3714,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/inquirer": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", @@ -3473,6 +3793,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3534,6 +3868,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -3574,6 +3919,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4731,6 +5087,14 @@ "@seald-io/nedb": "^2.2.0" } }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/node-cleanup": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", @@ -4878,6 +5242,14 @@ "resolved": "https://registry.npmjs.org/object-code/-/object-code-1.2.2.tgz", "integrity": "sha512-ZSbEQdei4ElzuDM4BmazKSwINacocBf3/8rte25aNqXzvT/8dSaNVY9egsjAaBL/UhW55JNxAvXOKPIsL2MwWQ==" }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -5073,6 +5445,11 @@ "node": ">=0.10.0" } }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -5086,6 +5463,11 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, "node_modules/pdf-parse": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pdf-parse/-/pdf-parse-1.1.1.tgz", @@ -5311,6 +5693,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -5341,6 +5753,26 @@ "url": "https://github.com/sponsors/mysticatea" } }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -5349,6 +5781,14 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -5489,6 +5929,95 @@ "semver": "bin/semver.js" } }, + "node_modules/serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "dependencies": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -6077,11 +6606,19 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -6123,6 +6660,14 @@ "node": ">= 8" } }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -6214,6 +6759,66 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/wildcard-match": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.2.tgz", @@ -7359,6 +7964,11 @@ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" }, + "@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==" + }, "abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -7369,6 +7979,15 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, "acorn": { "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", @@ -7422,6 +8041,14 @@ "uri-js": "^4.2.2" } }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "requires": { + "string-width": "^4.1.0" + } + }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -7457,6 +8084,11 @@ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" + }, "are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", @@ -7466,6 +8098,11 @@ "readable-stream": "^3.6.0" } }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -7625,6 +8262,81 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, + "boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "requires": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==" + }, + "chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -7680,6 +8392,11 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, "cache-parser": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.4.tgz", @@ -7738,6 +8455,14 @@ "supports-color": "^7.1.0" } }, + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "requires": { + "chalk": "^4.1.2" + } + }, "char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -7800,6 +8525,11 @@ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" }, + "cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -7818,6 +8548,16 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, + "clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "requires": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -7933,6 +8673,43 @@ "json-buffer": "~3.0.1" } }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -7943,6 +8720,11 @@ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" + }, "convert-source-map": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", @@ -8069,6 +8851,11 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -8179,6 +8966,11 @@ "domhandler": "^5.0.1" } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, "electron-to-chromium": { "version": "1.4.284", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", @@ -8213,9 +9005,9 @@ "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" }, "epg-grabber": { - "version": "0.29.7", - "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.29.7.tgz", - "integrity": "sha512-wvjevMnrJD/fr4TaJ0Wh4Y2Kyy0LLQtp+bOEsHFCsF8oe53jUnThOlUYsAT49Sx5v7A6K9GheGxDAXOpLXV67A==", + "version": "0.30.2", + "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.30.2.tgz", + "integrity": "sha512-Ao8hM1yizk5tuNeskER0YmU3IWRFzBCjgKnRpCHpLNKCkst28AmicN/Bzi32EXE06hl8yXQnKKwKnp7/PCI/Xw==", "requires": { "axios": "^0.21.1", "axios-cache-interceptor": "^0.10.3", @@ -8225,6 +9017,7 @@ "curl-generator": "^0.2.0", "dayjs": "^1.10.4", "epg-parser": "^0.1.6", + "fs-extra": "^11.1.1", "glob": "^7.1.6", "lodash": "^4.17.21", "node-gzip": "^1.1.2", @@ -8245,6 +9038,16 @@ "requires": { "xml-js": "^1.6.11" } + }, + "fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } } } }, @@ -8546,6 +9349,21 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "requires": { + "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + } + } + }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -8803,9 +9621,9 @@ } }, "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "http-proxy-agent": { "version": "4.0.1", @@ -8910,6 +9728,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "inquirer": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", @@ -8955,6 +9778,11 @@ "has": "^1.0.3" } }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -8995,6 +9823,11 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, + "is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==" + }, "is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -9020,6 +9853,14 @@ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -9918,6 +10759,11 @@ "@seald-io/nedb": "^2.2.0" } }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, "node-cleanup": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", @@ -10032,6 +10878,11 @@ "resolved": "https://registry.npmjs.org/object-code/-/object-code-1.2.2.tgz", "integrity": "sha512-ZSbEQdei4ElzuDM4BmazKSwINacocBf3/8rte25aNqXzvT/8dSaNVY9egsjAaBL/UhW55JNxAvXOKPIsL2MwWQ==" }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -10175,6 +11026,11 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -10185,6 +11041,11 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, "pdf-parse": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pdf-parse/-/pdf-parse-1.1.1.tgz", @@ -10346,6 +11207,29 @@ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + } + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -10367,11 +11251,33 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "requires": { + "rc": "^1.0.1" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, "resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -10476,6 +11382,77 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, + "serve": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", + "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", + "requires": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "requires": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "~1.33.0" + } + } + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -10908,11 +11885,19 @@ "picocolors": "^1.0.0" } }, + "update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "requires": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -10950,6 +11935,11 @@ } } }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -11026,6 +12016,44 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "requires": { + "string-width": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, "wildcard-match": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.2.tgz", diff --git a/yarn.lock b/yarn.lock index b9ff04ec..0c5f14f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -819,6 +819,11 @@ dependencies: "@types/yargs-parser" "*" +"@zeit/schemas@2.29.0": + "integrity" "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==" + "resolved" "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz" + "version" "2.29.0" + "abab@^2.0.3", "abab@^2.0.5": "integrity" "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" @@ -829,6 +834,14 @@ "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" "version" "1.1.1" +"accepts@~1.3.5": + "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + "version" "1.3.8" + dependencies: + "mime-types" "~2.1.34" + "negotiator" "0.6.3" + "acorn-globals@^6.0.0": "integrity" "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==" "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" @@ -874,6 +887,23 @@ "json-schema-traverse" "^0.4.1" "uri-js" "^4.2.2" +"ajv@8.11.0": + "integrity" "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" + "version" "8.11.0" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"ansi-align@^3.0.1": + "integrity" "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==" + "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "string-width" "^4.1.0" + "ansi-escapes@^4.2.1": "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" @@ -886,6 +916,11 @@ "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" "version" "5.0.1" +"ansi-regex@^6.0.1": + "integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + "version" "6.0.1" + "ansi-styles@^3.2.1": "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" @@ -905,6 +940,11 @@ "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" "version" "5.2.0" +"ansi-styles@^6.1.0": + "integrity" "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + "version" "6.2.1" + "anymatch@^3.0.3": "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" @@ -918,6 +958,11 @@ "resolved" "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" "version" "2.0.0" +"arch@^2.2.0": + "integrity" "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" + "resolved" "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz" + "version" "2.2.0" + "are-we-there-yet@^2.0.0": "integrity" "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==" "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" @@ -926,6 +971,11 @@ "delegates" "^1.0.0" "readable-stream" "^3.6.0" +"arg@5.0.2": + "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + "version" "5.0.2" + "argparse@^1.0.7": "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" @@ -1083,6 +1133,20 @@ "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" "version" "1.0.0" +"boxen@7.0.0": + "integrity" "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==" + "resolved" "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "ansi-align" "^3.0.1" + "camelcase" "^7.0.0" + "chalk" "^5.0.1" + "cli-boxes" "^3.0.0" + "string-width" "^5.1.2" + "type-fest" "^2.13.0" + "widest-line" "^4.0.1" + "wrap-ansi" "^8.0.1" + "brace-expansion@^1.1.7": "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -1133,6 +1197,11 @@ "base64-js" "^1.3.1" "ieee754" "^1.1.13" +"bytes@3.0.0": + "integrity" "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + "version" "3.0.0" + "cache-parser@^1.2.4": "integrity" "sha512-O0KwuHuJnbHUrghHi2kGp0SxnWSIBXTYt7M8WVhW0kbPRUNUKoE/Of6e1rRD6AAxmfxFunKnt90yEK09D+sc5g==" "resolved" "https://registry.npmjs.org/cache-parser/-/cache-parser-1.2.4.tgz" @@ -1171,11 +1240,23 @@ "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" "version" "6.3.0" +"camelcase@^7.0.0": + "integrity" "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz" + "version" "7.0.1" + "caniuse-lite@^1.0.30001400": "integrity" "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==" "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz" "version" "1.0.30001434" +"chalk-template@0.4.0": + "integrity" "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==" + "resolved" "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "chalk" "^4.1.2" + "chalk@^2.0.0": "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" @@ -1202,6 +1283,16 @@ "ansi-styles" "^4.1.0" "supports-color" "^7.1.0" +"chalk@^5.0.1": + "integrity" "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz" + "version" "5.2.0" + +"chalk@5.0.1": + "integrity" "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz" + "version" "5.0.1" + "char-regex@^1.0.2": "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" @@ -1252,6 +1343,11 @@ "resolved" "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" "version" "1.2.2" +"cli-boxes@^3.0.0": + "integrity" "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" + "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" + "version" "3.0.0" + "cli-cursor@^3.1.0": "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" @@ -1269,6 +1365,15 @@ "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" "version" "3.0.0" +"clipboardy@3.0.0": + "integrity" "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==" + "resolved" "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "arch" "^2.2.0" + "execa" "^5.1.1" + "is-wsl" "^2.2.0" + "cliui@^7.0.2": "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" @@ -1385,6 +1490,26 @@ "@types/json-buffer" "~3.0.0" "json-buffer" "~3.0.1" +"compressible@~2.0.16": + "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" + "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + "version" "2.0.18" + dependencies: + "mime-db" ">= 1.43.0 < 2" + +"compression@1.7.4": + "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" + "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + "version" "1.7.4" + dependencies: + "accepts" "~1.3.5" + "bytes" "3.0.0" + "compressible" "~2.0.16" + "debug" "2.6.9" + "on-headers" "~1.0.2" + "safe-buffer" "5.1.2" + "vary" "~1.1.2" + "concat-map@0.0.1": "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -1395,6 +1520,11 @@ "resolved" "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" "version" "1.1.0" +"content-disposition@0.5.2": + "integrity" "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + "version" "0.5.2" + "convert-source-map@^1.4.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" @@ -1486,6 +1616,13 @@ dependencies: "ms" "2.1.2" +"debug@2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + "decimal.js@^10.2.1": "integrity" "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" "resolved" "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz" @@ -1503,6 +1640,11 @@ "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" "version" "0.7.0" +"deep-extend@^0.6.0": + "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + "version" "0.6.0" + "deep-is@^0.1.3", "deep-is@~0.1.3": "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" @@ -1599,6 +1741,11 @@ "domelementtype" "^2.3.0" "domhandler" "^5.0.1" +"eastasianwidth@^0.2.0": + "integrity" "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "resolved" "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + "version" "0.2.0" + "electron-to-chromium@^1.4.251": "integrity" "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" @@ -1614,6 +1761,11 @@ "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" "version" "8.0.0" +"emoji-regex@^9.2.2": + "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + "version" "9.2.2" + "enabled@2.0.x": "integrity" "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" "resolved" "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz" @@ -1631,10 +1783,10 @@ "resolved" "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" "version" "4.4.0" -"epg-grabber@^0.29.7": - "integrity" "sha512-wvjevMnrJD/fr4TaJ0Wh4Y2Kyy0LLQtp+bOEsHFCsF8oe53jUnThOlUYsAT49Sx5v7A6K9GheGxDAXOpLXV67A==" - "resolved" "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.29.7.tgz" - "version" "0.29.7" +"epg-grabber@^0.30.2": + "integrity" "sha512-Ao8hM1yizk5tuNeskER0YmU3IWRFzBCjgKnRpCHpLNKCkst28AmicN/Bzi32EXE06hl8yXQnKKwKnp7/PCI/Xw==" + "resolved" "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.30.2.tgz" + "version" "0.30.2" dependencies: "axios" "^0.21.1" "axios-cache-interceptor" "^0.10.3" @@ -1644,6 +1796,7 @@ "curl-generator" "^0.2.0" "dayjs" "^1.10.4" "epg-parser" "^0.1.6" + "fs-extra" "^11.1.1" "glob" "^7.1.6" "lodash" "^4.17.21" "node-gzip" "^1.1.2" @@ -1809,7 +1962,7 @@ "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" "version" "2.0.3" -"execa@^5.0.0": +"execa@^5.0.0", "execa@^5.1.1": "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" "version" "5.1.1" @@ -1868,6 +2021,13 @@ "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" "version" "2.0.6" +"fast-url-parser@1.1.3": + "integrity" "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==" + "resolved" "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "punycode" "^1.3.2" + "fb-watchman@^2.0.0": "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" @@ -1978,6 +2138,15 @@ "jsonfile" "^6.0.1" "universalify" "^2.0.0" +"fs-extra@^11.1.1": + "integrity" "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz" + "version" "11.1.1" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + "fs-minipass@^2.0.0": "integrity" "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==" "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" @@ -2145,9 +2314,9 @@ "entities" "^4.3.0" "http-cache-semantics@^4.0.0": - "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - "version" "4.1.0" + "integrity" "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + "version" "4.1.1" "http-proxy-agent@^4.0.1": "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" @@ -2235,6 +2404,11 @@ "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" "version" "2.0.4" +"ini@~1.3.0": + "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + "version" "1.3.8" + "inquirer@^8.2.0": "integrity" "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==" "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz" @@ -2283,6 +2457,11 @@ dependencies: "has" "^1.0.3" +"is-docker@^2.0.0": + "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + "version" "2.2.1" + "is-extglob@^2.1.1": "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" @@ -2320,6 +2499,11 @@ "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" "version" "5.0.0" +"is-port-reachable@4.0.0": + "integrity" "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==" + "resolved" "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz" + "version" "4.0.0" + "is-potential-custom-element-name@^1.0.1": "integrity" "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" @@ -2345,6 +2529,13 @@ "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" "version" "0.1.0" +"is-wsl@^2.2.0": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "is-docker" "^2.0.0" + "isexe@^2.0.0": "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -2875,6 +3066,11 @@ "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" "version" "0.4.1" +"json-schema-traverse@^1.0.0": + "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + "version" "1.0.0" + "json-stable-stringify-without-jsonify@^1.0.1": "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" @@ -3066,18 +3262,30 @@ "braces" "^3.0.2" "picomatch" "^2.3.1" -"mime-db@1.52.0": +"mime-db@>= 1.43.0 < 2", "mime-db@1.52.0": "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" "version" "1.52.0" -"mime-types@^2.1.12": +"mime-db@~1.33.0": + "integrity" "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" + "version" "1.33.0" + +"mime-types@^2.1.12", "mime-types@~2.1.34": "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" "version" "2.1.35" dependencies: "mime-db" "1.52.0" +"mime-types@2.1.18": + "integrity" "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + "version" "2.1.18" + dependencies: + "mime-db" "~1.33.0" + "mimic-fn@^2.1.0": "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -3093,7 +3301,7 @@ "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" "version" "3.1.0" -"minimatch@^3.0.4", "minimatch@^3.1.2": +"minimatch@^3.0.4", "minimatch@^3.1.2", "minimatch@3.1.2": "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" "version" "3.1.2" @@ -3135,6 +3343,11 @@ "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" "version" "2.1.3" +"ms@2.0.0": + "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + "ms@2.1.2": "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" @@ -3162,6 +3375,11 @@ dependencies: "@seald-io/nedb" "^2.2.0" +"negotiator@0.6.3": + "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + "version" "0.6.3" + "node-cleanup@^2.1.2": "integrity" "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=" "resolved" "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz" @@ -3250,6 +3468,11 @@ "resolved" "https://registry.npmjs.org/object-code/-/object-code-1.2.2.tgz" "version" "1.2.2" +"on-headers@~1.0.2": + "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + "version" "1.0.2" + "once@^1.3.0", "once@^1.3.1", "once@^1.4.0": "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" @@ -3423,6 +3646,11 @@ "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" "version" "1.0.1" +"path-is-inside@1.0.2": + "integrity" "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + "version" "1.0.2" + "path-key@^3.0.0", "path-key@^3.1.0": "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" @@ -3433,6 +3661,11 @@ "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" "version" "1.0.7" +"path-to-regexp@2.2.1": + "integrity" "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" + "version" "2.2.1" + "pdf-parse@^1.1.1": "integrity" "sha512-v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==" "resolved" "https://registry.npmjs.org/pdf-parse/-/pdf-parse-1.1.1.tgz" @@ -3521,6 +3754,11 @@ "end-of-stream" "^1.1.0" "once" "^1.3.1" +"punycode@^1.3.2": + "integrity" "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + "punycode@^2.1.0", "punycode@^2.1.1": "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" @@ -3536,6 +3774,21 @@ "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" "version" "5.1.1" +"range-parser@1.2.0": + "integrity" "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + "version" "1.2.0" + +"rc@^1.0.1", "rc@^1.1.6": + "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" + "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + "version" "1.2.8" + dependencies: + "deep-extend" "^0.6.0" + "ini" "~1.3.0" + "minimist" "^1.2.0" + "strip-json-comments" "~2.0.1" + "react-is@^17.0.1": "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" @@ -3555,11 +3808,31 @@ "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" "version" "3.2.0" +"registry-auth-token@3.3.2": + "integrity" "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==" + "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "rc" "^1.1.6" + "safe-buffer" "^5.0.1" + +"registry-url@3.1.0": + "integrity" "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==" + "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "rc" "^1.0.1" + "require-directory@^2.1.1": "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" "version" "2.1.1" +"require-from-string@^2.0.2": + "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + "version" "2.0.2" + "resolve-alpn@^1.0.0": "integrity" "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" "resolved" "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" @@ -3630,7 +3903,7 @@ dependencies: "tslib" "^2.1.0" -"safe-buffer@~5.1.1": +"safe-buffer@^5.0.1", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" "version" "5.1.2" @@ -3681,6 +3954,37 @@ dependencies: "lru-cache" "^6.0.0" +"serve-handler@6.1.5": + "integrity" "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==" + "resolved" "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" + "version" "6.1.5" + dependencies: + "bytes" "3.0.0" + "content-disposition" "0.5.2" + "fast-url-parser" "1.1.3" + "mime-types" "2.1.18" + "minimatch" "3.1.2" + "path-is-inside" "1.0.2" + "path-to-regexp" "2.2.1" + "range-parser" "1.2.0" + +"serve@^14.2.0": + "integrity" "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==" + "resolved" "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz" + "version" "14.2.0" + dependencies: + "@zeit/schemas" "2.29.0" + "ajv" "8.11.0" + "arg" "5.0.2" + "boxen" "7.0.0" + "chalk" "5.0.1" + "chalk-template" "0.4.0" + "clipboardy" "3.0.0" + "compression" "1.7.4" + "is-port-reachable" "4.0.0" + "serve-handler" "6.1.5" + "update-check" "1.5.4" + "set-blocking@^2.0.0": "integrity" "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" @@ -3793,6 +4097,15 @@ "is-fullwidth-code-point" "^3.0.0" "strip-ansi" "^6.0.1" +"string-width@^5.0.1", "string-width@^5.1.2": + "integrity" "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "eastasianwidth" "^0.2.0" + "emoji-regex" "^9.2.2" + "strip-ansi" "^7.0.1" + "strip-ansi@^6.0.0", "strip-ansi@^6.0.1": "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -3800,6 +4113,13 @@ dependencies: "ansi-regex" "^5.0.1" +"strip-ansi@^7.0.1": + "integrity" "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "ansi-regex" "^6.0.1" + "strip-bom@^3.0.0": "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" @@ -3820,6 +4140,11 @@ "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" "version" "3.1.1" +"strip-json-comments@~2.0.1": + "integrity" "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + "version" "2.0.1" + "supports-color@^5.3.0": "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" @@ -4014,6 +4339,11 @@ "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" "version" "0.21.3" +"type-fest@^2.13.0": + "integrity" "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + "version" "2.19.0" + "typedarray-to-buffer@^3.1.5": "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" @@ -4051,6 +4381,14 @@ "escalade" "^3.1.1" "picocolors" "^1.0.0" +"update-check@1.5.4": + "integrity" "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==" + "resolved" "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz" + "version" "1.5.4" + dependencies: + "registry-auth-token" "3.3.2" + "registry-url" "3.1.0" + "uri-js@^4.2.2": "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" @@ -4082,6 +4420,11 @@ "convert-source-map" "^1.6.0" "source-map" "^0.7.3" +"vary@~1.1.2": + "integrity" "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + "version" "1.1.2" + "w3c-hr-time@^1.0.2": "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" @@ -4168,6 +4511,13 @@ dependencies: "string-width" "^1.0.2 || 2 || 3 || 4" +"widest-line@^4.0.1": + "integrity" "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==" + "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "string-width" "^5.0.1" + "wildcard-match@^5.1.2": "integrity" "sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==" "resolved" "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.2.tgz" @@ -4212,6 +4562,15 @@ "string-width" "^4.1.0" "strip-ansi" "^6.0.0" +"wrap-ansi@^8.0.1": + "integrity" "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + "version" "8.1.0" + dependencies: + "ansi-styles" "^6.1.0" + "string-width" "^5.0.1" + "strip-ansi" "^7.0.1" + "wrappy@1": "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" From 7a6c41784a86e6cfa994a9a39f59042c04dc5781 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:20:31 +0300 Subject: [PATCH 13/17] Update package.json --- package.json | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index d396c8ae..9063ca68 100644 --- a/package.json +++ b/package.json @@ -5,28 +5,22 @@ "channels:lint": "node scripts/commands/channels/lint.js", "channels:parse": "node scripts/commands/channels/parse.js", "channels:editor": "node scripts/commands/channels/editor.js", - "queue:create": "node scripts/commands/queue/create.js", - "cluster:load": "node scripts/commands/cluster/load.js", - "db:load": "node scripts/commands/database/load.js", - "programs:save": "node scripts/commands/programs/save.js", - "guides:update": "NODE_OPTIONS=--max-old-space-size=5120 node scripts/commands/guides/update.js", "api:load": "./scripts/commands/api/load.sh", - "api:update": "node scripts/commands/api/update.js", - "readme:update": "node scripts/commands/readme/update.js", "lint": "npx eslint ./scripts/**/*.js", "test": "TZ=Pacific/Nauru npx jest --runInBand", "test:commands": "npx jest --runInBand -- commands", "test:sites": "TZ=Pacific/Nauru npx jest --runInBand -- sites", - "act:test": "act workflow_dispatch -W .github/workflows/_test.yml", - "act:check": "act workflow_dispatch -W .github/workflows/_check.yml", - "act:update-readme": "act workflow_dispatch -W .github/workflows/_update-readme.yml", - "act:update-status": "act workflow_dispatch -W .github/workflows/_update-status.yml", - "act:update-api": "act workflow_dispatch -W .github/workflows/_update-api.yml" + "check": "npm run api:load && npm run channels:lint sites/**/*.js && npm run channels:validate sites/**/*.xml", + "grab": "npx epg-grabber --config=sites/${SITE}/${SITE}.config.js --channels=sites/${SITE}/${SITE}.channels.xml --output=guides/{lang}/{site}.xml", + "serve": "npx serve" }, "private": true, "author": "Arhey", "license": "MIT", "jest": { + "testPathIgnorePatterns": [ + ".jenkins" + ], "testRegex": "(sites|tests)/(.*?/)?.*test.js$", "setupFilesAfterEnv": [ "@alex_neo/jest-expect-message" @@ -41,7 +35,7 @@ "commander": "^8.2.0", "csv-parser": "^3.0.0", "dayjs": "^1.10.8", - "epg-grabber": "^0.29.7", + "epg-grabber": "^0.30.2", "epg-parser": "^0.2.0", "form-data": "^4.0.0", "fs-extra": "^10.0.1", @@ -59,6 +53,7 @@ "node-gzip": "^1.1.2", "parse-duration": "^1.0.0", "pdf-parse": "^1.1.1", + "serve": "^14.2.0", "signale": "^1.4.0", "srcset": "^4.0.0", "table2array": "^0.0.2", From 96df4b5a8f224c97d6a997f391c6b2bf8ecdb573 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:20:38 +0300 Subject: [PATCH 14/17] Create Jenkinsfile --- Jenkinsfile | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..6d402f33 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,63 @@ +List target_sites = (env.TARGET_SITES == null) ? [] : env.TARGET_SITES.split(';') +List exclude_sites = (env.EXCLUDE_SITES == null) ? [] : env.EXCLUDE_SITES.split(';') + +target_sites.removeAll { it in exclude_sites } + +Map matrix_axes = [ + SITE: target_sites +] + +@NonCPS +List getMatrixAxes(Map matrix_axes) { + List axes = [] + matrix_axes.each { axis, values -> + List axisList = [] + values.each { value -> + axisList << [(axis): value] + } + axes << axisList + } + axes.combinations()*.sum() +} + +List axes = getMatrixAxes(matrix_axes) + +Map tasks = [failFast: false] + +for(int i = 0; i < axes.size(); i++) { + Map axis = axes[i] + List axisEnv = axis.collect { k, v -> + "${k}=${v}" + } + tasks[axisEnv.join(', ')] = { -> + env.NODEJS_HOME = "${tool 'node'}" + env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}" + + node { + skipDefaultCheckout() + withEnv(axisEnv) { + try { + cleanWs() + checkout scm + sh 'npm install' + sh "npm run grab" + } finally { + archiveArtifacts artifacts: "guides/**/*.xml", onlyIfSuccessful: true + cleanWs( + cleanWhenNotBuilt: false, + deleteDirs: true, + disableDeferredWipeout: true, + notFailBuild: true, + patterns: [[pattern: '.gitignore', type: 'INCLUDE'], + [pattern: '.propsfile', type: 'EXCLUDE']]) + } + } + } + } +} + +node { + stage('Load') { + parallel(tasks) + } +} \ No newline at end of file From 2fee237da21f74bf684bff0c671e4bfb9d096f20 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 19:20:40 +0300 Subject: [PATCH 15/17] Update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e31b99df..0538272b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ /logs/ /guide.xml /guide.xml.gz -/.artifacts/ \ No newline at end of file +/.jenkins/ +/guides/ \ No newline at end of file From dffe0b3c8a823c7c1a66f795dc681d3c65d42ee8 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 20:56:02 +0300 Subject: [PATCH 16/17] Update README.md --- README.md | 952 +++--------------------------------------------------- 1 file changed, 38 insertions(+), 914 deletions(-) diff --git a/README.md b/README.md index ac5580ee..3f20cdd1 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,12 @@ # EPG -[![_update](https://github.com/iptv-org/epg/actions/workflows/_update.yml/badge.svg)](https://github.com/iptv-org/epg/actions/workflows/_update.yml) +Utilities for downloading the EPG (Electronic Program Guide) for thousands of TV channels from hundreds of sources. -EPG (Electronic Program Guide) for thousands of TV channels collected from different sources. +__IMPORTANT:__ We are no longer able to provide pre-made guides due to the disabling of GitHub Actions (Read more: https://github.com/orgs/iptv-org/discussions/12#discussioncomment-5219050). This repository now contains only utilities and configurations for downloading guides yourself. ## Table of contents - 🚀 [How to use?](#how-to-use) -- 🗓 [Guides](#guides) - 📺 [Playlists](#playlists) - 🗄 [Database](#database) - 👨‍💻 [API](#api) @@ -18,934 +17,59 @@ EPG (Electronic Program Guide) for thousands of TV channels collected from diffe ## How to use? -To load a program guide, all you need to do is copy the link to one or more of the guides from the list below and paste it into your favorite player. +To download the guide you must have [Node.js](https://nodejs.org/en) installed on your computer first. -You can also find the link to the guide by the name of the channel via https://iptv-org.github.io. +You will also need to install [Git](https://git-scm.com/downloads) to follow these instructions. -## Guides +After installing them, you need to open the [Console](https://en.wikipedia.org/wiki/Windows_Console) (or [Terminal](https://en.wikipedia.org/wiki/Terminal_(macOS)) if you have macOS) and type the following command: -
-Expand +```sh +git clone --depth 1 -b master https://github.com/iptv-org/epg.git +``` - -### Albanian +Then also through the Console navigate to the just downloaded `epg` folder: - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.blue.ch17https://iptv-org.github.io/epg/guides/sq/tv.blue.ch.xmltv.blue.ch
tvim.tv51https://iptv-org.github.io/epg/guides/sq/tvim.tv.xmltvim.tv
+```sh +cd epg +``` -### Arabic +And install all the necessary dependencies: - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
artonline.tv5https://iptv-org.github.io/epg/guides/ar/artonline.tv.xmlartonline.tv
bein.com76https://iptv-org.github.io/epg/guides/ar/bein.com.xmlbein.com
beinsports.com25https://iptv-org.github.io/epg/guides/ar/beinsports.com.xmlbeinsports.com
i24news.tv1https://iptv-org.github.io/epg/guides/ar/i24news.tv.xmli24news.tv
tv.blue.ch3https://iptv-org.github.io/epg/guides/ar/tv.blue.ch.xmltv.blue.ch
+```sh +npm install +``` -### Armenian +Now choose one of the sources (their complete list can be found in the [/sites](https://github.com/iptv-org/epg/tree/master/sites) folder) and start downloading the guide using the command: - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.mail.ru15https://iptv-org.github.io/epg/guides/hy/tv.mail.ru.xmltv.mail.ru
+```sh +SITE=example.com npm run grab +``` -### Azerbaijani +After the download is completed in the current directory will appear a new folder `guides`, which will store our XML files: - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.mail.ru6https://iptv-org.github.io/epg/guides/az/tv.mail.ru.xmltv.mail.ru
+```sh +guides +└── en + └── example.com.xml +``` -### Belarusian +Also you can make these guides available via URL by running your own server: - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.mail.ru1https://iptv-org.github.io/epg/guides/be/tv.mail.ru.xmltv.mail.ru
+```sh +npm run serve +``` -### Bengali +After that all the downloaded guides will be available at a link like this: - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
sky.com4https://iptv-org.github.io/epg/guides/bn/sky.com.xmlsky.com
tvpassport.com1https://iptv-org.github.io/epg/guides/bn/tvpassport.com.xmltvpassport.com
+``` +http://localhost:3000/guides/en/example.com.xml +``` -### Bosnian +In addition, they will be available on your local network at: - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
m.tv.sms.cz1https://iptv-org.github.io/epg/guides/bs/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at2https://iptv-org.github.io/epg/guides/bs/magentatv.at.xmlmagentatv.at
mtel.ba134https://iptv-org.github.io/epg/guides/bs/mtel.ba.xmlmtel.ba
tv.blue.ch6https://iptv-org.github.io/epg/guides/bs/tv.blue.ch.xmltv.blue.ch
- -### Bulgarian - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.dir.bg94https://iptv-org.github.io/epg/guides/bg/tv.dir.bg.xmltv.dir.bg
tvprofil.com67https://iptv-org.github.io/epg/guides/bg/tvprofil.com.xmltvprofil.com
- -### Burmese - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
unifi.com.my18https://iptv-org.github.io/epg/guides/my/unifi.com.my.xmlunifi.com.my
- -### Catalan - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
andorradifusio.ad1https://iptv-org.github.io/epg/guides/ca/andorradifusio.ad.xmlandorradifusio.ad
- -### Chinese - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
epg.i-cable.com66https://iptv-org.github.io/epg/guides/zh/epg.i-cable.com.xmlepg.i-cable.com
mytvsuper.com47https://iptv-org.github.io/epg/guides/zh/mytvsuper.com.xmlmytvsuper.com
nowplayer.now.com115https://iptv-org.github.io/epg/guides/zh/nowplayer.now.com.xmlnowplayer.now.com
rthk.hk4https://iptv-org.github.io/epg/guides/zh/rthk.hk.xmlrthk.hk
singtel.com22https://iptv-org.github.io/epg/guides/zh/singtel.com.xmlsingtel.com
tv.cctv.com94https://iptv-org.github.io/epg/guides/zh/tv.cctv.com.xmltv.cctv.com
- -### Croatian - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
ipko.com34https://iptv-org.github.io/epg/guides/hr/ipko.com.xmlipko.com
m.tv.sms.cz1https://iptv-org.github.io/epg/guides/hr/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at1https://iptv-org.github.io/epg/guides/hr/magentatv.at.xmlmagentatv.at
maxtv.hrvatskitelekom.hr118https://iptv-org.github.io/epg/guides/hr/maxtv.hrvatskitelekom.hr.xmlmaxtv.hrvatskitelekom.hr
tv.blue.ch5https://iptv-org.github.io/epg/guides/hr/tv.blue.ch.xmltv.blue.ch
tvprofil.com493https://iptv-org.github.io/epg/guides/hr/tvprofil.com.xmltvprofil.com
- -### Czech - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
m.tv.sms.cz370https://iptv-org.github.io/epg/guides/cs/m.tv.sms.cz.xmlm.tv.sms.cz
mujtvprogram.cz146https://iptv-org.github.io/epg/guides/cs/mujtvprogram.cz.xmlmujtvprogram.cz
tv.blue.ch1https://iptv-org.github.io/epg/guides/cs/tv.blue.ch.xmltv.blue.ch
- -### Danish - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
allente.se57https://iptv-org.github.io/epg/guides/da/allente.se.xmlallente.se
- -### Dutch - - - - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
delta.nl198https://iptv-org.github.io/epg/guides/nl/delta.nl.xmldelta.nl
m.tv.sms.cz1https://iptv-org.github.io/epg/guides/nl/m.tv.sms.cz.xmlm.tv.sms.cz
melita.com1https://iptv-org.github.io/epg/guides/nl/melita.com.xmlmelita.com
programtv.onet.pl3https://iptv-org.github.io/epg/guides/nl/programtv.onet.pl.xmlprogramtv.onet.pl
telecablesat.fr3https://iptv-org.github.io/epg/guides/nl/telecablesat.fr.xmltelecablesat.fr
telenet.tv55https://iptv-org.github.io/epg/guides/nl/telenet.tv.xmltelenet.tv
tv.blue.ch1https://iptv-org.github.io/epg/guides/nl/tv.blue.ch.xmltv.blue.ch
tv.post.lu5https://iptv-org.github.io/epg/guides/nl/tv.post.lu.xmltv.post.lu
tvgids.nl106https://iptv-org.github.io/epg/guides/nl/tvgids.nl.xmltvgids.nl
vtm.be7https://iptv-org.github.io/epg/guides/nl/vtm.be.xmlvtm.be
ziggogo.tv103https://iptv-org.github.io/epg/guides/nl/ziggogo.tv.xmlziggogo.tv
- -### English - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
abc.net.au27https://iptv-org.github.io/epg/guides/en/abc.net.au.xmlabc.net.au
allente.se4https://iptv-org.github.io/epg/guides/en/allente.se.xmlallente.se
arianaafgtv.com1https://iptv-org.github.io/epg/guides/en/arianaafgtv.com.xmlarianaafgtv.com
arianatelevision.com1https://iptv-org.github.io/epg/guides/en/arianatelevision.com.xmlarianatelevision.com
bein.com77https://iptv-org.github.io/epg/guides/en/bein.com.xmlbein.com
beinsports.com38https://iptv-org.github.io/epg/guides/en/beinsports.com.xmlbeinsports.com
bt.com163https://iptv-org.github.io/epg/guides/en/bt.com.xmlbt.com
canalplus.com5https://iptv-org.github.io/epg/guides/en/canalplus.com.xmlcanalplus.com
cgates.lt38https://iptv-org.github.io/epg/guides/en/cgates.lt.xmlcgates.lt
delta.nl19https://iptv-org.github.io/epg/guides/en/delta.nl.xmldelta.nl
digiturk.com.tr11https://iptv-org.github.io/epg/guides/en/digiturk.com.tr.xmldigiturk.com.tr
directv.com432https://iptv-org.github.io/epg/guides/en/directv.com.xmldirectv.com
dishtv.in359https://iptv-org.github.io/epg/guides/en/dishtv.in.xmldishtv.in
dsmart.com.tr7https://iptv-org.github.io/epg/guides/en/dsmart.com.tr.xmldsmart.com.tr
dstv.com206https://iptv-org.github.io/epg/guides/en/dstv.com.xmldstv.com
epg.i-cable.com94https://iptv-org.github.io/epg/guides/en/epg.i-cable.com.xmlepg.i-cable.com
flixed.io315https://iptv-org.github.io/epg/guides/en/flixed.io.xmlflixed.io
foxsports.com.au8https://iptv-org.github.io/epg/guides/en/foxsports.com.au.xmlfoxsports.com.au
getafteritmedia.com5https://iptv-org.github.io/epg/guides/en/getafteritmedia.com.xmlgetafteritmedia.com
horizon.tv26https://iptv-org.github.io/epg/guides/en/horizon.tv.xmlhorizon.tv
i.mjh.nz677https://iptv-org.github.io/epg/guides/en/i.mjh.nz.xmli.mjh.nz
i24news.tv1https://iptv-org.github.io/epg/guides/en/i24news.tv.xmli24news.tv
ionplustv.com1https://iptv-org.github.io/epg/guides/en/ionplustv.com.xmlionplustv.com
m.tv.sms.cz110https://iptv-org.github.io/epg/guides/en/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at16https://iptv-org.github.io/epg/guides/en/magentatv.at.xmlmagentatv.at
magticom.ge10https://iptv-org.github.io/epg/guides/en/magticom.ge.xmlmagticom.ge
maxtv.hrvatskitelekom.hr24https://iptv-org.github.io/epg/guides/en/maxtv.hrvatskitelekom.hr.xmlmaxtv.hrvatskitelekom.hr
melita.com82https://iptv-org.github.io/epg/guides/en/melita.com.xmlmelita.com
meo.pt9https://iptv-org.github.io/epg/guides/en/meo.pt.xmlmeo.pt
mewatch.sg17https://iptv-org.github.io/epg/guides/en/mewatch.sg.xmlmewatch.sg
mncvision.id97https://iptv-org.github.io/epg/guides/en/mncvision.id.xmlmncvision.id
mtel.ba32https://iptv-org.github.io/epg/guides/en/mtel.ba.xmlmtel.ba
mujtvprogram.cz45https://iptv-org.github.io/epg/guides/en/mujtvprogram.cz.xmlmujtvprogram.cz
musor.tv18https://iptv-org.github.io/epg/guides/en/musor.tv.xmlmusor.tv
myafn.dodmedia.osd.mil8https://iptv-org.github.io/epg/guides/en/myafn.dodmedia.osd.mil.xmlmyafn.dodmedia.osd.mil
mysky.com.ph46https://iptv-org.github.io/epg/guides/en/mysky.com.ph.xmlmysky.com.ph
mytvsuper.com57https://iptv-org.github.io/epg/guides/en/mytvsuper.com.xmlmytvsuper.com
nowplayer.now.com127https://iptv-org.github.io/epg/guides/en/nowplayer.now.com.xmlnowplayer.now.com
ontvtonight.com180https://iptv-org.github.io/epg/guides/en/ontvtonight.com.xmlontvtonight.com
pbsguam.org1https://iptv-org.github.io/epg/guides/en/pbsguam.org.xmlpbsguam.org
plex.tv314https://iptv-org.github.io/epg/guides/en/plex.tv.xmlplex.tv
programtv.onet.pl42https://iptv-org.github.io/epg/guides/en/programtv.onet.pl.xmlprogramtv.onet.pl
rev.bs179https://iptv-org.github.io/epg/guides/en/rev.bs.xmlrev.bs
rthk.hk4https://iptv-org.github.io/epg/guides/en/rthk.hk.xmlrthk.hk
singtel.com96https://iptv-org.github.io/epg/guides/en/singtel.com.xmlsingtel.com
sky.co.nz93https://iptv-org.github.io/epg/guides/en/sky.co.nz.xmlsky.co.nz
sky.com325https://iptv-org.github.io/epg/guides/en/sky.com.xmlsky.com
sportsnet.ca8https://iptv-org.github.io/epg/guides/en/sportsnet.ca.xmlsportsnet.ca
starhubtvplus.com128https://iptv-org.github.io/epg/guides/en/starhubtvplus.com.xmlstarhubtvplus.com
startimestv.com338https://iptv-org.github.io/epg/guides/en/startimestv.com.xmlstartimestv.com
superguidatv.it3https://iptv-org.github.io/epg/guides/en/superguidatv.it.xmlsuperguidatv.it
tapdmv.com15https://iptv-org.github.io/epg/guides/en/tapdmv.com.xmltapdmv.com
telecablesat.fr6https://iptv-org.github.io/epg/guides/en/telecablesat.fr.xmltelecablesat.fr
telenet.tv20https://iptv-org.github.io/epg/guides/en/telenet.tv.xmltelenet.tv
teliatv.ee76https://iptv-org.github.io/epg/guides/en/teliatv.ee.xmlteliatv.ee
toonamiaftermath.com1https://iptv-org.github.io/epg/guides/en/toonamiaftermath.com.xmltoonamiaftermath.com
tv.blue.ch84https://iptv-org.github.io/epg/guides/en/tv.blue.ch.xmltv.blue.ch
tv.dir.bg6https://iptv-org.github.io/epg/guides/en/tv.dir.bg.xmltv.dir.bg
tv.post.lu31https://iptv-org.github.io/epg/guides/en/tv.post.lu.xmltv.post.lu
tv.yettel.hu6https://iptv-org.github.io/epg/guides/en/tv.yettel.hu.xmltv.yettel.hu
tv24.co.uk58https://iptv-org.github.io/epg/guides/en/tv24.co.uk.xmltv24.co.uk
tv24.se26https://iptv-org.github.io/epg/guides/en/tv24.se.xmltv24.se
tvguide.com85https://iptv-org.github.io/epg/guides/en/tvguide.com.xmltvguide.com
tvhebdo.com1https://iptv-org.github.io/epg/guides/en/tvhebdo.com.xmltvhebdo.com
tvmusor.hu4https://iptv-org.github.io/epg/guides/en/tvmusor.hu.xmltvmusor.hu
tvpassport.com824https://iptv-org.github.io/epg/guides/en/tvpassport.com.xmltvpassport.com
tvplus.com.tr10https://iptv-org.github.io/epg/guides/en/tvplus.com.tr.xmltvplus.com.tr
tvprofil.com4https://iptv-org.github.io/epg/guides/en/tvprofil.com.xmltvprofil.com
unifi.com.my45https://iptv-org.github.io/epg/guides/en/unifi.com.my.xmlunifi.com.my
virginmedia.com194https://iptv-org.github.io/epg/guides/en/virginmedia.com.xmlvirginmedia.com
virginmediatelevision.ie5https://iptv-org.github.io/epg/guides/en/virginmediatelevision.ie.xmlvirginmediatelevision.ie
watchyour.tv24https://iptv-org.github.io/epg/guides/en/watchyour.tv.xmlwatchyour.tv
wavve.com2https://iptv-org.github.io/epg/guides/en/wavve.com.xmlwavve.com
worldfishingnetwork.com1https://iptv-org.github.io/epg/guides/en/worldfishingnetwork.com.xmlworldfishingnetwork.com
xumo.tv150https://iptv-org.github.io/epg/guides/en/xumo.tv.xmlxumo.tv
ziggogo.tv23https://iptv-org.github.io/epg/guides/en/ziggogo.tv.xmlziggogo.tv
znbc.co.zm4https://iptv-org.github.io/epg/guides/en/znbc.co.zm.xmlznbc.co.zm
- -### Estonian - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
teliatv.ee65https://iptv-org.github.io/epg/guides/et/teliatv.ee.xmlteliatv.ee
telkku.com1https://iptv-org.github.io/epg/guides/et/telkku.com.xmltelkku.com
telsu.fi1https://iptv-org.github.io/epg/guides/et/telsu.fi.xmltelsu.fi
- -### Faroese - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
kvf.fo1https://iptv-org.github.io/epg/guides/fo/kvf.fo.xmlkvf.fo
- -### Finnish - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
allente.se35https://iptv-org.github.io/epg/guides/fi/allente.se.xmlallente.se
teliatv.ee2https://iptv-org.github.io/epg/guides/fi/teliatv.ee.xmlteliatv.ee
telkku.com51https://iptv-org.github.io/epg/guides/fi/telkku.com.xmltelkku.com
telkussa.fi41https://iptv-org.github.io/epg/guides/fi/telkussa.fi.xmltelkussa.fi
telsu.fi20https://iptv-org.github.io/epg/guides/fi/telsu.fi.xmltelsu.fi
- -### French - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
beinsports.com13https://iptv-org.github.io/epg/guides/fr/beinsports.com.xmlbeinsports.com
canalplus-caraibes.com126https://iptv-org.github.io/epg/guides/fr/canalplus-caraibes.com.xmlcanalplus-caraibes.com
canalplus-haiti.com111https://iptv-org.github.io/epg/guides/fr/canalplus-haiti.com.xmlcanalplus-haiti.com
canalplus-reunion.com118https://iptv-org.github.io/epg/guides/fr/canalplus-reunion.com.xmlcanalplus-reunion.com
canalplus.com221https://iptv-org.github.io/epg/guides/fr/canalplus.com.xmlcanalplus.com
chaines-tv.orange.fr194https://iptv-org.github.io/epg/guides/fr/chaines-tv.orange.fr.xmlchaines-tv.orange.fr
delta.nl3https://iptv-org.github.io/epg/guides/fr/delta.nl.xmldelta.nl
digiturk.com.tr1https://iptv-org.github.io/epg/guides/fr/digiturk.com.tr.xmldigiturk.com.tr
dstv.com1https://iptv-org.github.io/epg/guides/fr/dstv.com.xmldstv.com
epg.i-cable.com1https://iptv-org.github.io/epg/guides/fr/epg.i-cable.com.xmlepg.i-cable.com
horizon.tv2https://iptv-org.github.io/epg/guides/fr/horizon.tv.xmlhorizon.tv
i24news.tv1https://iptv-org.github.io/epg/guides/fr/i24news.tv.xmli24news.tv
m.tv.sms.cz5https://iptv-org.github.io/epg/guides/fr/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at2https://iptv-org.github.io/epg/guides/fr/magentatv.at.xmlmagentatv.at
maxtv.hrvatskitelekom.hr2https://iptv-org.github.io/epg/guides/fr/maxtv.hrvatskitelekom.hr.xmlmaxtv.hrvatskitelekom.hr
melita.com4https://iptv-org.github.io/epg/guides/fr/melita.com.xmlmelita.com
mon-programme-tv.be102https://iptv-org.github.io/epg/guides/fr/mon-programme-tv.be.xmlmon-programme-tv.be
mujtvprogram.cz4https://iptv-org.github.io/epg/guides/fr/mujtvprogram.cz.xmlmujtvprogram.cz
programme-tv.net210https://iptv-org.github.io/epg/guides/fr/programme-tv.net.xmlprogramme-tv.net
programme-tv.vini.pf2https://iptv-org.github.io/epg/guides/fr/programme-tv.vini.pf.xmlprogramme-tv.vini.pf
programtv.onet.pl3https://iptv-org.github.io/epg/guides/fr/programtv.onet.pl.xmlprogramtv.onet.pl
singtel.com1https://iptv-org.github.io/epg/guides/fr/singtel.com.xmlsingtel.com
startimestv.com1https://iptv-org.github.io/epg/guides/fr/startimestv.com.xmlstartimestv.com
superguidatv.it1https://iptv-org.github.io/epg/guides/fr/superguidatv.it.xmlsuperguidatv.it
telecablesat.fr266https://iptv-org.github.io/epg/guides/fr/telecablesat.fr.xmltelecablesat.fr
telenet.tv31https://iptv-org.github.io/epg/guides/fr/telenet.tv.xmltelenet.tv
teliatv.ee4https://iptv-org.github.io/epg/guides/fr/teliatv.ee.xmlteliatv.ee
tv.blue.ch162https://iptv-org.github.io/epg/guides/fr/tv.blue.ch.xmltv.blue.ch
tv.post.lu71https://iptv-org.github.io/epg/guides/fr/tv.post.lu.xmltv.post.lu
tv24.se2https://iptv-org.github.io/epg/guides/fr/tv24.se.xmltv24.se
tvhebdo.com231https://iptv-org.github.io/epg/guides/fr/tvhebdo.com.xmltvhebdo.com
tvpassport.com45https://iptv-org.github.io/epg/guides/fr/tvpassport.com.xmltvpassport.com
tvplus.com.tr2https://iptv-org.github.io/epg/guides/fr/tvplus.com.tr.xmltvplus.com.tr
tvprofil.com1https://iptv-org.github.io/epg/guides/fr/tvprofil.com.xmltvprofil.com
- -### Galician - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.blue.ch1https://iptv-org.github.io/epg/guides/gl/tv.blue.ch.xmltv.blue.ch
- -### Georgian - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
magticom.ge36https://iptv-org.github.io/epg/guides/ka/magticom.ge.xmlmagticom.ge
- -### German - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
delta.nl1https://iptv-org.github.io/epg/guides/de/delta.nl.xmldelta.nl
epg.i-cable.com1https://iptv-org.github.io/epg/guides/de/epg.i-cable.com.xmlepg.i-cable.com
hd-plus.de120https://iptv-org.github.io/epg/guides/de/hd-plus.de.xmlhd-plus.de
horizon.tv12https://iptv-org.github.io/epg/guides/de/horizon.tv.xmlhorizon.tv
m.tv.sms.cz14https://iptv-org.github.io/epg/guides/de/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at179https://iptv-org.github.io/epg/guides/de/magentatv.at.xmlmagentatv.at
maxtv.hrvatskitelekom.hr5https://iptv-org.github.io/epg/guides/de/maxtv.hrvatskitelekom.hr.xmlmaxtv.hrvatskitelekom.hr
melita.com2https://iptv-org.github.io/epg/guides/de/melita.com.xmlmelita.com
mujtvprogram.cz3https://iptv-org.github.io/epg/guides/de/mujtvprogram.cz.xmlmujtvprogram.cz
nowplayer.now.com1https://iptv-org.github.io/epg/guides/de/nowplayer.now.com.xmlnowplayer.now.com
programme-tv.net1https://iptv-org.github.io/epg/guides/de/programme-tv.net.xmlprogramme-tv.net
programtv.onet.pl34https://iptv-org.github.io/epg/guides/de/programtv.onet.pl.xmlprogramtv.onet.pl
sky.de79https://iptv-org.github.io/epg/guides/de/sky.de.xmlsky.de
telecablesat.fr2https://iptv-org.github.io/epg/guides/de/telecablesat.fr.xmltelecablesat.fr
telenet.tv1https://iptv-org.github.io/epg/guides/de/telenet.tv.xmltelenet.tv
teliatv.ee6https://iptv-org.github.io/epg/guides/de/teliatv.ee.xmlteliatv.ee
tv.blue.ch187https://iptv-org.github.io/epg/guides/de/tv.blue.ch.xmltv.blue.ch
tv.post.lu117https://iptv-org.github.io/epg/guides/de/tv.post.lu.xmltv.post.lu
tv24.se1https://iptv-org.github.io/epg/guides/de/tv24.se.xmltv24.se
tvheute.at52https://iptv-org.github.io/epg/guides/de/tvheute.at.xmltvheute.at
tvplus.com.tr1https://iptv-org.github.io/epg/guides/de/tvplus.com.tr.xmltvplus.com.tr
ziggogo.tv5https://iptv-org.github.io/epg/guides/de/ziggogo.tv.xmlziggogo.tv
- -### Greek - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
cosmote.gr85https://iptv-org.github.io/epg/guides/el/cosmote.gr.xmlcosmote.gr
novacyprus.com29https://iptv-org.github.io/epg/guides/el/novacyprus.com.xmlnovacyprus.com
novasports.gr16https://iptv-org.github.io/epg/guides/el/novasports.gr.xmlnovasports.gr
tv.blue.ch2https://iptv-org.github.io/epg/guides/el/tv.blue.ch.xmltv.blue.ch
tvpassport.com1https://iptv-org.github.io/epg/guides/el/tvpassport.com.xmltvpassport.com
- -### Hebrew - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
mako.co.il1https://iptv-org.github.io/epg/guides/he/mako.co.il.xmlmako.co.il
tv.post.lu1https://iptv-org.github.io/epg/guides/he/tv.post.lu.xmltv.post.lu
- -### Hindi - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
epg.i-cable.com1https://iptv-org.github.io/epg/guides/hi/epg.i-cable.com.xmlepg.i-cable.com
sky.com24https://iptv-org.github.io/epg/guides/hi/sky.com.xmlsky.com
tv.blue.ch2https://iptv-org.github.io/epg/guides/hi/tv.blue.ch.xmltv.blue.ch
unifi.com.my3https://iptv-org.github.io/epg/guides/hi/unifi.com.my.xmlunifi.com.my
- -### Hungarian - - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
m.tv.sms.cz3https://iptv-org.github.io/epg/guides/hu/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at1https://iptv-org.github.io/epg/guides/hu/magentatv.at.xmlmagentatv.at
mediaklikk.hu8https://iptv-org.github.io/epg/guides/hu/mediaklikk.hu.xmlmediaklikk.hu
mujtvprogram.cz3https://iptv-org.github.io/epg/guides/hu/mujtvprogram.cz.xmlmujtvprogram.cz
musor.tv147https://iptv-org.github.io/epg/guides/hu/musor.tv.xmlmusor.tv
tv.blue.ch5https://iptv-org.github.io/epg/guides/hu/tv.blue.ch.xmltv.blue.ch
tv.yettel.hu68https://iptv-org.github.io/epg/guides/hu/tv.yettel.hu.xmltv.yettel.hu
tvmusor.hu85https://iptv-org.github.io/epg/guides/hu/tvmusor.hu.xmltvmusor.hu
tvpassport.com1https://iptv-org.github.io/epg/guides/hu/tvpassport.com.xmltvpassport.com
- -### Icelandic - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
ruv.is2https://iptv-org.github.io/epg/guides/is/ruv.is.xmlruv.is
- -### Indonesian - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
indihometv.com124https://iptv-org.github.io/epg/guides/id/indihometv.com.xmlindihometv.com
mncvision.id97https://iptv-org.github.io/epg/guides/id/mncvision.id.xmlmncvision.id
transvision.co.id78https://iptv-org.github.io/epg/guides/id/transvision.co.id.xmltransvision.co.id
vidio.com67https://iptv-org.github.io/epg/guides/id/vidio.com.xmlvidio.com
- -### Interlingua - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
unifi.com.my1https://iptv-org.github.io/epg/guides/ia/unifi.com.my.xmlunifi.com.my
- -### Irish - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
sky.com1https://iptv-org.github.io/epg/guides/ga/sky.com.xmlsky.com
- -### Italian - - - - - - - - - - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
guidatv.sky.it163https://iptv-org.github.io/epg/guides/it/guidatv.sky.it.xmlguidatv.sky.it
m.tv.sms.cz1https://iptv-org.github.io/epg/guides/it/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at3https://iptv-org.github.io/epg/guides/it/magentatv.at.xmlmagentatv.at
maxtv.hrvatskitelekom.hr4https://iptv-org.github.io/epg/guides/it/maxtv.hrvatskitelekom.hr.xmlmaxtv.hrvatskitelekom.hr
mediaset.it15https://iptv-org.github.io/epg/guides/it/mediaset.it.xmlmediaset.it
melita.com22https://iptv-org.github.io/epg/guides/it/melita.com.xmlmelita.com
raiplay.it14https://iptv-org.github.io/epg/guides/it/raiplay.it.xmlraiplay.it
superguidatv.it159https://iptv-org.github.io/epg/guides/it/superguidatv.it.xmlsuperguidatv.it
telecablesat.fr3https://iptv-org.github.io/epg/guides/it/telecablesat.fr.xmltelecablesat.fr
telenet.tv2https://iptv-org.github.io/epg/guides/it/telenet.tv.xmltelenet.tv
teliatv.ee1https://iptv-org.github.io/epg/guides/it/teliatv.ee.xmlteliatv.ee
tivu.tv71https://iptv-org.github.io/epg/guides/it/tivu.tv.xmltivu.tv
tv.blue.ch83https://iptv-org.github.io/epg/guides/it/tv.blue.ch.xmltv.blue.ch
tv.post.lu7https://iptv-org.github.io/epg/guides/it/tv.post.lu.xmltv.post.lu
tv24.se3https://iptv-org.github.io/epg/guides/it/tv24.se.xmltv24.se
tvpassport.com1https://iptv-org.github.io/epg/guides/it/tvpassport.com.xmltvpassport.com
ziggogo.tv1https://iptv-org.github.io/epg/guides/it/ziggogo.tv.xmlziggogo.tv
- -### Japanese - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tvguide.myjcom.jp134https://iptv-org.github.io/epg/guides/ja/tvguide.myjcom.jp.xmltvguide.myjcom.jp
- -### Kalaallisut - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
knr.gl1https://iptv-org.github.io/epg/guides/kl/knr.gl.xmlknr.gl
- -### Korean - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
berrymedia.co.kr6https://iptv-org.github.io/epg/guides/ko/berrymedia.co.kr.xmlberrymedia.co.kr
ena.skylifetv.co.kr6https://iptv-org.github.io/epg/guides/ko/ena.skylifetv.co.kr.xmlena.skylifetv.co.kr
tving.com26https://iptv-org.github.io/epg/guides/ko/tving.com.xmltving.com
wavve.com75https://iptv-org.github.io/epg/guides/ko/wavve.com.xmlwavve.com
- -### Kurdish - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.blue.ch3https://iptv-org.github.io/epg/guides/ku/tv.blue.ch.xmltv.blue.ch
- -### Latvian - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.lv20https://iptv-org.github.io/epg/guides/lv/tv.lv.xmltv.lv
- -### Lithuanian - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
cgates.lt42https://iptv-org.github.io/epg/guides/lt/cgates.lt.xmlcgates.lt
- -### Luxembourgish - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.post.lu4https://iptv-org.github.io/epg/guides/lb/tv.post.lu.xmltv.post.lu
- -### Macedonian - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
maxtvgo.mk51https://iptv-org.github.io/epg/guides/mk/maxtvgo.mk.xmlmaxtvgo.mk
- -### Malay - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
astro.com.my137https://iptv-org.github.io/epg/guides/ms/astro.com.my.xmlastro.com.my
rtmklik.rtm.gov.my6https://iptv-org.github.io/epg/guides/ms/rtmklik.rtm.gov.my.xmlrtmklik.rtm.gov.my
singtel.com5https://iptv-org.github.io/epg/guides/ms/singtel.com.xmlsingtel.com
- -### Maltese - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
melita.com3https://iptv-org.github.io/epg/guides/mt/melita.com.xmlmelita.com
tvmi.mt3https://iptv-org.github.io/epg/guides/mt/tvmi.mt.xmltvmi.mt
- -### Mongolian - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
zuragt.mn31https://iptv-org.github.io/epg/guides/mn/zuragt.mn.xmlzuragt.mn
- -### Northern Sami - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
telsu.fi4https://iptv-org.github.io/epg/guides/se/telsu.fi.xmltelsu.fi
- -### Norwegian - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
allente.se70https://iptv-org.github.io/epg/guides/no/allente.se.xmlallente.se
frikanalen.no1https://iptv-org.github.io/epg/guides/no/frikanalen.no.xmlfrikanalen.no
- -### Polish - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
m.tv.sms.cz7https://iptv-org.github.io/epg/guides/pl/m.tv.sms.cz.xmlm.tv.sms.cz
magentatv.at1https://iptv-org.github.io/epg/guides/pl/magentatv.at.xmlmagentatv.at
programtv.onet.pl256https://iptv-org.github.io/epg/guides/pl/programtv.onet.pl.xmlprogramtv.onet.pl
tv.blue.ch1https://iptv-org.github.io/epg/guides/pl/tv.blue.ch.xmltv.blue.ch
- -### Portuguese - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
dstv.com1https://iptv-org.github.io/epg/guides/pt/dstv.com.xmldstv.com
meo.pt192https://iptv-org.github.io/epg/guides/pt/meo.pt.xmlmeo.pt
mi.tv254https://iptv-org.github.io/epg/guides/pt/mi.tv.xmlmi.tv
nos.pt133https://iptv-org.github.io/epg/guides/pt/nos.pt.xmlnos.pt
plex.tv1https://iptv-org.github.io/epg/guides/pt/plex.tv.xmlplex.tv
rtp.pt10https://iptv-org.github.io/epg/guides/pt/rtp.pt.xmlrtp.pt
tv.blue.ch8https://iptv-org.github.io/epg/guides/pt/tv.blue.ch.xmltv.blue.ch
tv.post.lu12https://iptv-org.github.io/epg/guides/pt/tv.post.lu.xmltv.post.lu
- -### Romanian - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
programetv.ro227https://iptv-org.github.io/epg/guides/ro/programetv.ro.xmlprogrametv.ro
tv.blue.ch4https://iptv-org.github.io/epg/guides/ro/tv.blue.ch.xmltv.blue.ch
- -### Russian - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
9tv.co.il1https://iptv-org.github.io/epg/guides/ru/9tv.co.il.xml9tv.co.il
m.tv.sms.cz3https://iptv-org.github.io/epg/guides/ru/m.tv.sms.cz.xmlm.tv.sms.cz
magticom.ge67https://iptv-org.github.io/epg/guides/ru/magticom.ge.xmlmagticom.ge
teliatv.ee80https://iptv-org.github.io/epg/guides/ru/teliatv.ee.xmlteliatv.ee
tv.blue.ch5https://iptv-org.github.io/epg/guides/ru/tv.blue.ch.xmltv.blue.ch
tv.mail.ru19https://iptv-org.github.io/epg/guides/ru/tv.mail.ru.xmltv.mail.ru
tv.post.lu2https://iptv-org.github.io/epg/guides/ru/tv.post.lu.xmltv.post.lu
tv.yandex.ru288https://iptv-org.github.io/epg/guides/ru/tv.yandex.ru.xmltv.yandex.ru
- -### Serbian - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
magentatv.at7https://iptv-org.github.io/epg/guides/sr/magentatv.at.xmlmagentatv.at
mts.rs346https://iptv-org.github.io/epg/guides/sr/mts.rs.xmlmts.rs
tv.blue.ch15https://iptv-org.github.io/epg/guides/sr/tv.blue.ch.xmltv.blue.ch
tvarenasport.com12https://iptv-org.github.io/epg/guides/sr/tvarenasport.com.xmltvarenasport.com
- -### Slovak - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
horizon.tv134https://iptv-org.github.io/epg/guides/sk/horizon.tv.xmlhorizon.tv
m.tv.sms.cz7https://iptv-org.github.io/epg/guides/sk/m.tv.sms.cz.xmlm.tv.sms.cz
mujtvprogram.cz23https://iptv-org.github.io/epg/guides/sk/mujtvprogram.cz.xmlmujtvprogram.cz
- -### Slovene - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv2go.t-2.net274https://iptv-org.github.io/epg/guides/sl/tv2go.t-2.net.xmltv2go.t-2.net
- -### Spanish - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
beinsports.com10https://iptv-org.github.io/epg/guides/es/beinsports.com.xmlbeinsports.com
cablego.com.pe24https://iptv-org.github.io/epg/guides/es/cablego.com.pe.xmlcablego.com.pe
cableplus.com.uy47https://iptv-org.github.io/epg/guides/es/cableplus.com.uy.xmlcableplus.com.uy
compulms.com4https://iptv-org.github.io/epg/guides/es/compulms.com.xmlcompulms.com
comteco.com.bo74https://iptv-org.github.io/epg/guides/es/comteco.com.bo.xmlcomteco.com.bo
directv.com40https://iptv-org.github.io/epg/guides/es/directv.com.xmldirectv.com
directv.com.ar178https://iptv-org.github.io/epg/guides/es/directv.com.ar.xmldirectv.com.ar
directv.com.uy142https://iptv-org.github.io/epg/guides/es/directv.com.uy.xmldirectv.com.uy
flixed.io28https://iptv-org.github.io/epg/guides/es/flixed.io.xmlflixed.io
gatotv.com359https://iptv-org.github.io/epg/guides/es/gatotv.com.xmlgatotv.com
i.mjh.nz2https://iptv-org.github.io/epg/guides/es/i.mjh.nz.xmli.mjh.nz
m.tv.sms.cz3https://iptv-org.github.io/epg/guides/es/m.tv.sms.cz.xmlm.tv.sms.cz
melita.com1https://iptv-org.github.io/epg/guides/es/melita.com.xmlmelita.com
mi.tv360https://iptv-org.github.io/epg/guides/es/mi.tv.xmlmi.tv
movistarplus.es182https://iptv-org.github.io/epg/guides/es/movistarplus.es.xmlmovistarplus.es
nuevosiglo.com.uy47https://iptv-org.github.io/epg/guides/es/nuevosiglo.com.uy.xmlnuevosiglo.com.uy
ontvtonight.com5https://iptv-org.github.io/epg/guides/es/ontvtonight.com.xmlontvtonight.com
plex.tv25https://iptv-org.github.io/epg/guides/es/plex.tv.xmlplex.tv
programacion-tv.elpais.com108https://iptv-org.github.io/epg/guides/es/programacion-tv.elpais.com.xmlprogramacion-tv.elpais.com
programacion.tcc.com.uy58https://iptv-org.github.io/epg/guides/es/programacion.tcc.com.uy.xmlprogramacion.tcc.com.uy
reportv.com.ar97https://iptv-org.github.io/epg/guides/es/reportv.com.ar.xmlreportv.com.ar
siba.com.co97https://iptv-org.github.io/epg/guides/es/siba.com.co.xmlsiba.com.co
teliatv.ee1https://iptv-org.github.io/epg/guides/es/teliatv.ee.xmlteliatv.ee
tv.blue.ch15https://iptv-org.github.io/epg/guides/es/tv.blue.ch.xmltv.blue.ch
tv.movistar.com.pe43https://iptv-org.github.io/epg/guides/es/tv.movistar.com.pe.xmltv.movistar.com.pe
tv.post.lu2https://iptv-org.github.io/epg/guides/es/tv.post.lu.xmltv.post.lu
tvcubana.icrt.cu10https://iptv-org.github.io/epg/guides/es/tvcubana.icrt.cu.xmltvcubana.icrt.cu
tvpassport.com23https://iptv-org.github.io/epg/guides/es/tvpassport.com.xmltvpassport.com
xumo.tv2https://iptv-org.github.io/epg/guides/es/xumo.tv.xmlxumo.tv
ziggogo.tv1https://iptv-org.github.io/epg/guides/es/ziggogo.tv.xmlziggogo.tv
- -### Swedish - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
allente.se109https://iptv-org.github.io/epg/guides/sv/allente.se.xmlallente.se
teliatv.ee2https://iptv-org.github.io/epg/guides/sv/teliatv.ee.xmlteliatv.ee
tv.nu178https://iptv-org.github.io/epg/guides/sv/tv.nu.xmltv.nu
tv24.se154https://iptv-org.github.io/epg/guides/sv/tv24.se.xmltv24.se
- -### Tamil - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
singtel.com1https://iptv-org.github.io/epg/guides/ta/singtel.com.xmlsingtel.com
tv.blue.ch1https://iptv-org.github.io/epg/guides/ta/tv.blue.ch.xmltv.blue.ch
- -### Thai - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.blue.ch1https://iptv-org.github.io/epg/guides/th/tv.blue.ch.xmltv.blue.ch
tv.trueid.net90https://iptv-org.github.io/epg/guides/th/tv.trueid.net.xmltv.trueid.net
- -### Turkish - - - - - - - - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
digiturk.com.tr103https://iptv-org.github.io/epg/guides/tr/digiturk.com.tr.xmldigiturk.com.tr
dsmart.com.tr97https://iptv-org.github.io/epg/guides/tr/dsmart.com.tr.xmldsmart.com.tr
magentatv.at1https://iptv-org.github.io/epg/guides/tr/magentatv.at.xmlmagentatv.at
melita.com2https://iptv-org.github.io/epg/guides/tr/melita.com.xmlmelita.com
tv.blue.ch15https://iptv-org.github.io/epg/guides/tr/tv.blue.ch.xmltv.blue.ch
tv.post.lu1https://iptv-org.github.io/epg/guides/tr/tv.post.lu.xmltv.post.lu
tvplus.com.tr132https://iptv-org.github.io/epg/guides/tr/tvplus.com.tr.xmltvplus.com.tr
ziggogo.tv8https://iptv-org.github.io/epg/guides/tr/ziggogo.tv.xmlziggogo.tv
- -### Ukrainian - - - - - - - - -
Site                                        ChannelsEPG                                                                                                                                      Status                                                   
tv.blue.ch1https://iptv-org.github.io/epg/guides/uk/tv.blue.ch.xmltv.blue.ch
- - - -
-
- -To load the compressed version of the guide, just change the extension from `.xml` to `.xml.gz`. +``` +http://:3000/guides/en/example.com.xml +``` ## Playlists From 3b4edc5d32145fc533c1ded38bc968a0a851b748 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Mon, 15 May 2023 20:58:41 +0300 Subject: [PATCH 17/17] Delete .readme/ --- .readme/.gitignore | 1 - .readme/readme.json | 4 --- .readme/readme.md | 74 --------------------------------------------- 3 files changed, 79 deletions(-) delete mode 100644 .readme/.gitignore delete mode 100644 .readme/readme.json delete mode 100644 .readme/readme.md diff --git a/.readme/.gitignore b/.readme/.gitignore deleted file mode 100644 index 534ce766..00000000 --- a/.readme/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_guides.md \ No newline at end of file diff --git a/.readme/readme.json b/.readme/readme.json deleted file mode 100644 index db539a62..00000000 --- a/.readme/readme.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "build": "README.md", - "files": ["./.readme/readme.md"] -} diff --git a/.readme/readme.md b/.readme/readme.md deleted file mode 100644 index ed34facc..00000000 --- a/.readme/readme.md +++ /dev/null @@ -1,74 +0,0 @@ -# EPG - -[![_update](https://github.com/iptv-org/epg/actions/workflows/_update.yml/badge.svg)](https://github.com/iptv-org/epg/actions/workflows/_update.yml) - -EPG (Electronic Program Guide) for thousands of TV channels collected from different sources. - -## Table of contents - -- 🚀 [How to use?](#how-to-use) -- 🗓 [Guides](#guides) -- 📺 [Playlists](#playlists) -- 🗄 [Database](#database) -- 👨‍💻 [API](#api) -- 📚 [Resources](#resources) -- 💬 [Discussions](#discussions) -- 🛠 [Contribution](#contribution) -- © [License](#license) - -## How to use? - -To load a program guide, all you need to do is copy the link to one or more of the guides from the list below and paste it into your favorite player. - -You can also find the link to the guide by the name of the channel via https://iptv-org.github.io. - -## Guides - -
-Expand - - -#include "./.readme/_guides.md" - -
-
- -To load the compressed version of the guide, just change the extension from `.xml` to `.xml.gz`. - -## Playlists - -Playlists with already linked guides can be found in the [iptv-org/iptv](https://github.com/iptv-org/iptv) repository. - -## Database - -All channel data is taken from the [iptv-org/database](https://github.com/iptv-org/database) repository. If you find any errors please open a new [issue](https://github.com/iptv-org/database/issues) there. - -## API - -The API documentation can be found in the [iptv-org/api](https://github.com/iptv-org/api) repository. - -## Resources - -Links to other useful IPTV-related resources can be found in the [iptv-org/awesome-iptv](https://github.com/iptv-org/awesome-iptv) repository. - -## Discussions - -If you have a question or an idea, you can post it in the [Discussions](https://github.com/orgs/iptv-org/discussions) tab. - -## Contribution - -Please make sure to read the [Contributing Guide](https://github.com/iptv-org/epg/blob/master/CONTRIBUTING.md) before sending [issue](https://github.com/iptv-org/epg/issues) or a [pull request](https://github.com/iptv-org/epg/pulls). - -And thank you to everyone who has already contributed! - -### Backers - - - -### Contributors - - - -## License - -[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](LICENSE)