diff --git a/sites/rtb.gov.bn/__data__/Aneka 11 November 2021.pdf b/sites/rtb.gov.bn/__data__/Aneka 11 November 2021.pdf
deleted file mode 100644
index 46175820..00000000
Binary files a/sites/rtb.gov.bn/__data__/Aneka 11 November 2021.pdf and /dev/null differ
diff --git a/sites/rtb.gov.bn/__data__/Sukmaindera 11 November 2021.pdf b/sites/rtb.gov.bn/__data__/Sukmaindera 11 November 2021.pdf
deleted file mode 100644
index fb20faf6..00000000
Binary files a/sites/rtb.gov.bn/__data__/Sukmaindera 11 November 2021.pdf and /dev/null differ
diff --git a/sites/rtb.gov.bn/readme.md b/sites/rtb.gov.bn/readme.md
deleted file mode 100644
index 4643d8a7..00000000
--- a/sites/rtb.gov.bn/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# rtb.gov.bn
-
-https://www.rtb.gov.bn/SitePages/Programme%20Guide.aspx
-
-### Download the guide
-
-```sh
-npm run grab --- --site=rtb.gov.bn
-```
-
-### Test
-
-```sh
-npm test --- rtb.gov.bn
-```
diff --git a/sites/rtb.gov.bn/rtb.gov.bn.channels.xml b/sites/rtb.gov.bn/rtb.gov.bn.channels.xml
deleted file mode 100644
index 1b0d0eed..00000000
--- a/sites/rtb.gov.bn/rtb.gov.bn.channels.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- RTB Aneka
- RTB Perdana
- RTB Sukmaindera
-
\ No newline at end of file
diff --git a/sites/rtb.gov.bn/rtb.gov.bn.config.js b/sites/rtb.gov.bn/rtb.gov.bn.config.js
deleted file mode 100644
index 5a4239eb..00000000
--- a/sites/rtb.gov.bn/rtb.gov.bn.config.js
+++ /dev/null
@@ -1,74 +0,0 @@
-const pdf = require('pdf-parse')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const timezone = require('dayjs/plugin/timezone')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-
-dayjs.extend(utc)
-dayjs.extend(timezone)
-dayjs.extend(customParseFormat)
-
-module.exports = {
- site: 'rtb.gov.bn',
- days: 2,
- url: function ({ channel, date }) {
- return encodeURI(
- `http://www.rtb.gov.bn/PublishingImages/SitePages/Programme Guide/${
- channel.site_id
- } ${date.format('DD MMMM YYYY')}.pdf`
- )
- },
- parser: async function ({ buffer, date }) {
- let programs = []
- const items = await parseItems(buffer)
- items.forEach(item => {
- const prev = programs[programs.length - 1]
- let start = parseStart(item, date)
- if (prev) {
- if (start.isBefore(prev.start)) {
- start = start.add(1, 'd')
- date = date.add(1, 'd')
- }
- prev.stop = start
- }
- const stop = start.add(1, 'h')
- programs.push({
- title: item.title,
- start,
- stop
- })
- })
-
- return programs
- }
-}
-
-function parseStart(item, date) {
- const dateString = `${date.format('YYYY-MM-DD')} ${item.time}`
-
- return dayjs.tz(dateString, 'YYYY-MM-DD HH:mm', 'Asia/Brunei')
-}
-
-async function parseItems(buffer) {
- let data
- try {
- data = await pdf(buffer)
- } catch {
- return []
- }
-
- if (!data) return []
-
- return data.text
- .split('\n')
- .filter(s => {
- const string = s.trim()
-
- return string && /^\d{2}:\d{2}/.test(string)
- })
- .map(s => {
- const [, time, title] = s.trim().match(/^(\d{2}:\d{2}) (.*)/) || [null, null, null]
-
- return { time, title }
- })
-}
diff --git a/sites/rtb.gov.bn/rtb.gov.bn.test.js b/sites/rtb.gov.bn/rtb.gov.bn.test.js
deleted file mode 100644
index 544b483b..00000000
--- a/sites/rtb.gov.bn/rtb.gov.bn.test.js
+++ /dev/null
@@ -1,94 +0,0 @@
-const { parser, url } = require('./rtb.gov.bn.config.js')
-const path = require('path')
-const fs = require('fs')
-const dayjs = require('dayjs')
-const utc = require('dayjs/plugin/utc')
-const customParseFormat = require('dayjs/plugin/customParseFormat')
-dayjs.extend(customParseFormat)
-dayjs.extend(utc)
-
-const date = dayjs.utc('2021-11-11', 'YYYY-MM-DD').startOf('d')
-const channel = {
- site_id: 'Sukmaindera',
- xmltv_id: 'RTBSukmaindera.bn'
-}
-
-it('can generate valid url', () => {
- expect(url({ channel, date })).toBe(
- 'http://www.rtb.gov.bn/PublishingImages/SitePages/Programme%20Guide/Sukmaindera%2011%20November%202021.pdf'
- )
-})
-
-it('can parse Sukmaindera 11 November 2021.pdf', done => {
- const buffer = fs.readFileSync(
- path.resolve(__dirname, '__data__/Sukmaindera 11 November 2021.pdf'),
- {
- charset: 'utf8'
- }
- )
- parser({ buffer, date })
- .then(results => {
- results = results.map(p => {
- p.start = p.start.toJSON()
- p.stop = p.stop.toJSON()
- return p
- })
- expect(results.length).toBe(47)
- expect(results[0]).toMatchObject({
- start: '2021-11-10T22:00:00.000Z',
- stop: '2021-11-10T22:05:00.000Z',
- title: 'NATIONAL ANTHEM'
- })
- expect(results[46]).toMatchObject({
- start: '2021-11-11T21:30:00.000Z',
- stop: '2021-11-11T22:30:00.000Z',
- title: 'BACAAN SURAH YASSIN'
- })
- done()
- })
- .catch(error => {
- done(error)
- })
-})
-
-it('can parse Aneka 11 November 2021.pdf', done => {
- const buffer = fs.readFileSync(path.resolve(__dirname, '__data__/Aneka 11 November 2021.pdf'), {
- charset: 'utf8'
- })
- parser({ buffer, date })
- .then(results => {
- results = results.map(p => {
- p.start = p.start.toJSON()
- p.stop = p.stop.toJSON()
- return p
- })
- expect(results.length).toBe(26)
- expect(results[4]).toMatchObject({
- start: '2021-11-11T03:00:00.000Z',
- stop: '2021-11-11T04:05:00.000Z',
- title: 'DRAMA TURKI:'
- })
- done()
- })
- .catch(error => {
- done(error)
- })
-})
-
-it('can handle empty guide', done => {
- parser({
- date,
- channel,
- content: `
Object moved
-Object moved to here.
-
-`
- })
- .then(result => {
- expect(result).toMatchObject([])
- done()
- })
- .catch(error => {
- done(error)
- })
-})