diff --git a/sites/visionplus.id/__data__/content.json b/sites/visionplus.id/__data__/content.json deleted file mode 100644 index a3002eee..00000000 --- a/sites/visionplus.id/__data__/content.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[{"category_id":16,"channel_code":"ch00000090990000001790","channel_name":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd\r\nhttps://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","has_tvod":1,"id":"2","image_url":"https://static.mncnow.id/images/channel/e8b7a6a8/f009.png","player":{"drm":true,"drm_license_url":null,"drm_type":null,"url":""},"schedules":[{"date":"2023-06-30","items":[{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"02:00","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"01:15","synopsis":"","t":"Hafalan Shalat Delisa"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"03:00","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"02:00","synopsis":"","t":"Hafalan Shalat Delisa"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"03:15","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"03:00","synopsis":"","t":"Kultum"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"04:00","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"03:15","synopsis":"","t":"Pura-Pura Haji"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"05:30","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"04:00","synopsis":"","t":"Seputar iNews Pagi (L)"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"06:15","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"05:30","synopsis":"","t":"Sergap"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"08:00","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"06:15","synopsis":"","t":"Go Spot"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"09:30","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"08:00","synopsis":"","t":"Trending Banget Loh (TBL)"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"11:30","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"09:30","synopsis":"","t":"Silet"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"12:15","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"11:30","synopsis":"","t":"Seputar iNews Siang (L)"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"14:30","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"12:15","synopsis":"","t":"Si Doel Anak Sekolahan S2"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"15:45","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"14:30","synopsis":"","t":"Field Trip Ke Atas Awan"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"17:00","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"15:45","synopsis":"","t":"Hole In The Wall"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"20:00","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"17:00","synopsis":"","t":"Silet Awards 2023 (L)"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"21:15","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"20:00","synopsis":"","t":"Cinta Tanpa Karena"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"23:15","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"21:15","synopsis":"","t":"Ikatan Cinta"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"00:00","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"22:00","synopsis":"","t":"RCTI"},{"a":"a65a9d95ad17320dc4e684e121ec216494d15e5b46690e01b3d883a0c183473f11c91cfede712ed736bdd4b13fd1e384f8d201e0b6e19a266f6dd8e65413b7a2a0a5d78764cf7c1aff18dd11ada5ca9de1b0158078ca130ac96bb36614b6cdb773ddff08e8fcfbeb993205636ed0d2bfbdad371322a121c6be1c56ab9bd34f737d248be09fd3c9be43","drm":true,"e":"01:15","hls":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_hls_vmx/RCTI-DD.m3u8","is_live":false,"is_playable":false,"k":"a3a92d62f2d9ba6f7bbc09d2a97cb5c34b874672ecf4697c3d4767d8a36ca1308e2733c5b77c3af1b1352d240a303e233f5133e218211f75c39473a662a8745014bf9707198a6ade15cdd1402bbc519b7455807226e67818d064c87c77143eacabda77073b84e1ff98b0778b801681be8761508f7f5ff9c908441dbd6cd1","mpd":"https://nyanv-live-cdn.mncnow.id/live/eds/RCTI-DD/sa_dash_vmx/RCTI-DD.mpd","s":"23:15","synopsis":"","t":"Tukang Bubur Pulang Haji"}]}]}],"meta":{"limited_viewing":{"popup_type":"visitor","message_to_show":{"message_title":"Login to your account","message_body":"Please Login to continue watching and enjoy our content on Vision+","button_yes":"Login","button_no":"Later","image_popup":"https://cluster-images.visionplus.id/static/website/popup_login.png","action_type":"login"}}},"success":true,"code":200,"message":"Success","status":{"code":0,"message_client":"Success","message_server":"Success"}} \ No newline at end of file diff --git a/sites/visionplus.id/__data__/content_en.json b/sites/visionplus.id/__data__/content_en.json new file mode 100644 index 00000000..b6939ebd --- /dev/null +++ b/sites/visionplus.id/__data__/content_en.json @@ -0,0 +1 @@ +{"err":0,"mes":"OK","ver":1732411811000,"vie":"cd-events-grid-view","evs":[{"hd":true,"eid":"DLVY0278042864001880","sta":"2024-11-23T23:30:00Z","end":"2024-11-24T00:15:00Z","liv":false,"vid":[],"aul":["ENG"],"aud":[],"stl":[],"imb":false,"loc":[{"lan":""}],"pro":[],"con":{"cid":"STND0277891997009717","typ":"STANDALONE","oti":"FBI: Most Wanted S4, Ep 18","gid":["11;15;10;0","11;1;0;0"],"oda":"2022","dur":3000,"par":7,"categories":["Series/Thriller","Series"],"str":0,"loc":[{"tit":"FBI: Most Wanted S4, Ep 18","lan":"ENG","syn":"After two agents from the Bureau of Land Management go missing while executing a land seizure warrant in Wyoming, the Fugitive Task Force heads west to track them down in an unwelcoming county.","img":{"dir":"cn/113495","img_cnt":{"sna":{"s":1,"l":1,"m":1,"xl":1},"bac":{"l":1,"m":1},"pos":{"s":1,"l":1,"m":1,"xl":1},"blk":{"s":1,"l":1,"m":1,"xl":1}}}}],"cou":["USA"],"lan":"ENG","adult":false,"srs":[],"ses":"0","ctn":["CATCHUP_GLOBAL"]},"ppv":false,"sid":"00000000000000000079","rep":false,"cas":"2024-11-24T00:20:00Z","cae":"2024-11-30T22:04:30Z","soa":true,"lan":["ENG - English"]}]} \ No newline at end of file diff --git a/sites/visionplus.id/__data__/content_id.json b/sites/visionplus.id/__data__/content_id.json new file mode 100644 index 00000000..670c6fa4 --- /dev/null +++ b/sites/visionplus.id/__data__/content_id.json @@ -0,0 +1 @@ +{"err":0,"mes":"OK","ver":1732411811000,"vie":"cd-events-grid-view","evs":[{"hd":true,"eid":"DLVY0278042864001880","sta":"2024-11-23T23:30:00Z","end":"2024-11-24T00:15:00Z","liv":false,"vid":[],"aul":["ENG"],"aud":[],"stl":[],"loc":[{"lan":""}],"imb":false,"pro":[],"con":{"cid":"STND0277891997009717","typ":"STANDALONE","oti":"FBI: Most Wanted S4, Ep 18","gid":["11;15;10;0","11;1;0;0"],"oda":"2022","dur":3000,"par":7,"categories":["Series/Thriller","Series"],"str":0,"loc":[{"tit":"FBI: Most Wanted S4, Ep 18","lan":"IND","syn":"Satgas Buronan pergi ke wilayah barat untuk melacak keberadaan dua petugas Biro Pengelolaan Lahan yang menghilang saat menjalankan perintah penyitaan lahan di negara bagian yang tak ramah, Wyoming.","img":{"dir":"cn/113494","img_cnt":{"sna":{"s":1,"l":1,"m":1,"xl":1},"bac":{"l":1,"m":1},"pos":{"s":1,"l":1,"m":1,"xl":1},"blk":{"s":1,"l":1,"m":1,"xl":1}}}}],"cou":["USA"],"lan":"IND","adult":false,"srs":[],"ses":"0","ctn":["CATCHUP_GLOBAL"]},"ppv":false,"sid":"00000000000000000079","rep":false,"cas":"2024-11-24T00:20:00Z","cae":"2024-11-30T22:04:30Z","soa":true,"lan":["ENG - English"]}]} \ No newline at end of file diff --git a/sites/visionplus.id/__data__/no_content.json b/sites/visionplus.id/__data__/no_content.json index 671c5c0b..8f8a85ed 100644 --- a/sites/visionplus.id/__data__/no_content.json +++ b/sites/visionplus.id/__data__/no_content.json @@ -1 +1 @@ -{"data":null,"meta":{},"success":false,"code":400,"message":"Invalid epg date 2024-06-30","status":{"code":0,"message_client":"Invalid epg date 2024-06-30","message_server":"Invalid epg date 2024-06-30"}} \ No newline at end of file +{"err":0,"mes":"OK","ver":1732325411000,"vie":"cd-events-grid-view"} \ No newline at end of file diff --git a/sites/visionplus.id/readme.md b/sites/visionplus.id/readme.md index aea5e66f..5b8d7d04 100644 --- a/sites/visionplus.id/readme.md +++ b/sites/visionplus.id/readme.md @@ -4,14 +4,30 @@ https://www.visionplus.id/channel ### Download the guide +Indonesian: + ```sh -npm run grab -- --site=visionplus.id +npm run grab -- --site=visionplus.id --lang=id +``` + +English: + +```sh +npm run grab -- --site=visionplus.id --lang=en ``` ### Update channel list +Indonesian: + ```sh -npm run channels:parse -- --config=./sites/visionplus.id/visionplus.id.config.js --output=./sites/visionplus.id/visionplus.id.channels.xml +npm run channels:parse -- --config=./sites/visionplus.id/visionplus.id.config.js --output=./sites/visionplus.id/visionplus.id_id.channels.xml --set=lang:id +``` + +English: + +```sh +npm run channels:parse -- --config=./sites/visionplus.id/visionplus.id.config.js --output=./sites/visionplus.id/visionplus.id_en.channels.xml --set=lang:en ``` ### Test diff --git a/sites/visionplus.id/visionplus.id.channels.xml b/sites/visionplus.id/visionplus.id.channels.xml deleted file mode 100644 index 08af07cc..00000000 --- a/sites/visionplus.id/visionplus.id.channels.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - ABC Australia - ANTV - AXN - Al Jazeera English - Al Quran Al Kareem - Anhui TV - Animax - Arirang - Arirang - BBC Earth - BBC World News - BTV - Bali TV - Bandung TV - Bloomberg - Cbeebies - Celestial Classic Movie - CGTN - CGTN Documentary - Channel News Asia - CNBC Indonesia - Celebrities TV - Celebrities TV - Celestial Movies - Cinema World - Cinemachi - Cinemachi Action - Cinemachi Kids - Cinemachi Max - Cinemachi Xtra - Crime Investigation - DAAI TV - DW - DW - Dens Food - Dens ShowBiz - Dens ShowBiz - Shanghai Dragon TV - Dreamworks - EWTN - Entertainment - Euronews English - FMN - Fight Sports - Fox News Channel - France 24 - GTV - Galaxy - Galaxy Premium - Global Trekker - HITS - Hits Movies - History - Hunan TV - IDX Channel - IMC - JTV - Jak TV - Jiangsu TV - KIX - Kids TV - Kompas TV - Kompas TV - Life - Lifetime - Lifetime - Love Nature - MNC TV - MTV 90s - MTV Live - Metro TV - Metro TV - Music TV - Music TV - Muslim TV - My Cinema - My Cinema Asia - My Family - My Kidz - NET. - NHK World Japan - NHK World Premium - Nick Jr. - Nick - OK TV - One - Outdoor Channel - RCTI - Rock Action - Rock Entertainment - RT English - RTV - Reformed 21 - SEA Today - SPOTV - SPOTV 2 - SINDONEWS TV - Soccer Channel - SPORTSTARS - SPORTSTARS 2 - SPORTSTARS 3 - SPORTSTARS 4 - TRT World - TV5 Monde - TV9 - TVMu - TVRI - Tawaf TV - Thrill - Trans 7 - Trans TV - Vision Prime - Xing Kong TV - Zee Bioskop - Zoomoo - iNews - tvN - tvN Movies - TV One - TV One - diff --git a/sites/visionplus.id/visionplus.id.config.js b/sites/visionplus.id/visionplus.id.config.js index 6ce0aec8..30a779e0 100644 --- a/sites/visionplus.id/visionplus.id.config.js +++ b/sites/visionplus.id/visionplus.id.config.js @@ -9,84 +9,60 @@ dayjs.extend(utc) dayjs.extend(timezone) dayjs.extend(customParseFormat) +const languages = { en: 'ENG', id: 'IND' } +const tz = 'Asia/Jakarta' + module.exports = { site: 'visionplus.id', days: 2, - request: { - headers: { - Authorization: - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE5NDY0NTE4OTcsInVpZCI6MCwicGwiOiJ3ZWIiLCJndWVzdF90b2tlbiI6ImNhNGNjMjdiNzc3MjBjODEwNzQ2YzY3MTY4NzNjMDI3NGU4NWYxMWQifQ.tt08jLZ3HiNadUeSgc9O-nhIzEi7WMYRjxMb05lEZ74' - } - }, url({ date, channel }) { - return `https://epg-api.visionplus.id/api/v1/epg?isLive=false&start_time_from=${date.format( + return `https://www.visionplus.id/managetv/tvinfo/events/schedule?language=${languages[channel.lang]}&serviceId=${channel.site_id}&start=${date.format( 'YYYY-MM-DD' - )}&channel_ids=${channel.site_id}` + )}T00%3A00%3A00Z&end=${date.add(1, 'd').format( + 'YYYY-MM-DD' + )}T00%3A00%3A00Z&view=cd-events-grid-view` }, parser({ content, channel, date }) { const programs = [] - const items = parseItems(content, channel, date) - items.forEach(item => { - let prev = programs[programs.length - 1] - let start = parseStart(item, date) - let stop = parseStop(item, date) - if (prev) { - if (start.isBefore(prev.start)) { - start = start.add(1, 'd') - } - if (stop.isBefore(prev.stop)) { - stop = stop.add(1, 'd') + const json = JSON.parse(content) + if (Array.isArray(json.evs)) { + for (const ev of json.evs) { + if (ev.sid === channel.site_id) { + const title = ev.con && ev.con.loc ? ev.con.loc[0].tit : ev.con.oti + const [, , season, , episode] = title.match(/( S(\d+))?(, Ep (\d+))/) || [null, null, null, null, null] + programs.push({ + title, + description: ev.con && ev.con.loc ? ev.con.loc[0].syn : null, + categories: ev.con ? ev.con.categories : null, + season: season ? parseInt(season) : season, + episode: episode ? parseInt(episode) : episode, + start: dayjs(ev.sta), + stop: dayjs(ev.end) + }) } } - - programs.push({ - title: item.t, - description: item.synopsis, - start, - stop - }) - }) + } return programs }, - async channels() { - const xml = await axios - .get('https://www.visionplus.id/sitemap-channels.xml') - .then(r => r.data) - .catch(console.log) + async channels({ lang = 'id' }) { + const result = [] + const axios = require('axios') + const json = await axios + .get(`https://www.visionplus.id/managetv/tvinfo/channels/get?language=${languages[lang]}`) + .then(response => response.data) + .catch(console.error) - const $ = cheerio.load(xml) - const items = $('url').toArray() - - return items.map(item => { - const $item = cheerio.load(item) - const loc = $item('loc').text() - const [, site_id] = loc.match(/channel\/(\d+)\//) || [null, null] - - return { - lang: 'en', - site_id, - name: $item('video\\:title').text().trim() + if (Array.isArray(json?.chs)) { + for (const ch of json.chs) { + result.push({ + lang, + site_id: ch.sid, + name: ch.loc[0].nam + }) } - }) + } + + return result } } - -function parseStart(item, date) { - return dayjs.tz(`${date.format('YYYY-MM-DD')} ${item.s}`, 'YYYY-MM-DD HH:mm', 'Asia/Jakarta') -} - -function parseStop(item, date) { - return dayjs.tz(`${date.format('YYYY-MM-DD')} ${item.e}`, 'YYYY-MM-DD HH:mm', 'Asia/Jakarta') -} - -function parseItems(content, channel, date) { - const data = JSON.parse(content) - if (!data || !Array.isArray(data.data)) return [] - const channelData = data.data.find(c => c.id === channel.site_id) - if (!channelData || !Array.isArray(channelData.schedules)) return [] - const daySchedule = channelData.schedules.find(d => d.date === date.format('YYYY-MM-DD')) - if (!daySchedule || !Array.isArray(daySchedule.items)) return [] - - return daySchedule.items -} diff --git a/sites/visionplus.id/visionplus.id.test.js b/sites/visionplus.id/visionplus.id.test.js index 529e8f6d..1772e7e0 100644 --- a/sites/visionplus.id/visionplus.id.test.js +++ b/sites/visionplus.id/visionplus.id.test.js @@ -9,27 +9,26 @@ dayjs.extend(utc) jest.mock('axios') -const date = dayjs.utc('2023-06-30', 'YYYY-MM-DD').startOf('d') +const date = dayjs.utc('2024-11-24', 'YYYY-MM-DD').startOf('d') const channel = { - site_id: '2', - xmltv_id: 'RCTI.id' + site_id: '00000000000000000079', + xmltv_id: 'AXN.id', + lang: 'en' } +const channelId = { ...channel, lang: 'id' } + it('can generate valid url', () => { expect(url({ channel, date })).toBe( - 'https://epg-api.visionplus.id/api/v1/epg?isLive=false&start_time_from=2023-06-30&channel_ids=2' + 'https://www.visionplus.id/managetv/tvinfo/events/schedule?language=ENG&serviceId=00000000000000000079&start=2024-11-24T00%3A00%3A00Z&end=2024-11-25T00%3A00%3A00Z&view=cd-events-grid-view' + ) + expect(url({ channel: channelId, date })).toBe( + 'https://www.visionplus.id/managetv/tvinfo/events/schedule?language=IND&serviceId=00000000000000000079&start=2024-11-24T00%3A00%3A00Z&end=2024-11-25T00%3A00%3A00Z&view=cd-events-grid-view' ) }) -it('can generate valid request headers', () => { - expect(request.headers).toMatchObject({ - Authorization: - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE5NDY0NTE4OTcsInVpZCI6MCwicGwiOiJ3ZWIiLCJndWVzdF90b2tlbiI6ImNhNGNjMjdiNzc3MjBjODEwNzQ2YzY3MTY4NzNjMDI3NGU4NWYxMWQifQ.tt08jLZ3HiNadUeSgc9O-nhIzEi7WMYRjxMb05lEZ74' - }) -}) - it('can parse response', () => { - const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json')) + let content = fs.readFileSync(path.resolve(__dirname, '__data__/content_en.json')) let results = parser({ content, channel, date }) results = results.map(p => { p.start = p.start.toJSON() @@ -37,19 +36,32 @@ it('can parse response', () => { return p }) - expect(results.length).toBe(18) + expect(results.length).toBe(1) expect(results[0]).toMatchObject({ - start: '2023-06-29T18:15:00.000Z', - stop: '2023-06-29T19:00:00.000Z', - title: 'Hafalan Shalat Delisa', - description: '' + start: '2024-11-23T23:30:00.000Z', + stop: '2024-11-24T00:15:00.000Z', + title: 'FBI: Most Wanted S4, Ep 18', + description: 'After two agents from the Bureau of Land Management go missing while executing a land seizure warrant in Wyoming, the Fugitive Task Force heads west to track them down in an unwelcoming county.', + season: 4, + episode: 18 }) - expect(results[17]).toMatchObject({ - start: '2023-06-30T16:15:00.000Z', - stop: '2023-06-30T18:15:00.000Z', - title: 'Tukang Bubur Pulang Haji', - description: '' + content = fs.readFileSync(path.resolve(__dirname, '__data__/content_id.json')) + results = parser({ content, channel: channelId, date }) + results = results.map(p => { + p.start = p.start.toJSON() + p.stop = p.stop.toJSON() + return p + }) + + expect(results.length).toBe(1) + expect(results[0]).toMatchObject({ + start: '2024-11-23T23:30:00.000Z', + stop: '2024-11-24T00:15:00.000Z', + title: 'FBI: Most Wanted S4, Ep 18', + description: 'Satgas Buronan pergi ke wilayah barat untuk melacak keberadaan dua petugas Biro Pengelolaan Lahan yang menghilang saat menjalankan perintah penyitaan lahan di negara bagian yang tak ramah, Wyoming.', + season: 4, + episode: 18 }) }) diff --git a/sites/visionplus.id/visionplus.id_en.channels.xml b/sites/visionplus.id/visionplus.id_en.channels.xml new file mode 100644 index 00000000..707e193a --- /dev/null +++ b/sites/visionplus.id/visionplus.id_en.channels.xml @@ -0,0 +1,128 @@ + + + ABC + Aljazeera + Al Quran Al Kareem + Anhui + Animax + ANTV + Arirang + AXN + Bali TV + Bandung TV + BBC Earth + BBC World news + beIN SPORTS + beIN SPORTS 2 + beIN SPORTS 3 + beIN SPORTS 4 + beIN SPORTS 5 + Bloomberg + BTV + Cbeebies + Celebrities TV + Celebrities TV + CCM + CCM + Celestial Movies + CGTN + CGTN Documentary + Cinemachi + Cinemachi Action + Cinemachi Kids + Cinemachi Max + Cinemachi Xtra + Channel News Asia + CNBC Asia + Crime Investigation + DAAI TV + DENS Food Channel + DENSPLAY Channel + DENS Showbizz Channel + Shanghai Dragon + Dream Works + DW + Entertainment + EURONEWS + EWTN + Fight Sports + FMN + FOX News + France 24 + GALAXY + GALAXY PREMIUM + Global Trekker + GTV + Hanacaraka TV + History + Hits + Hits Movies + Hunan TV + IDX + IMC (Indonesia Movie Channel) + iNews + JAK TV + Jiangsu TV + JTV + Kids TV + Kix + Kompas TV + LIFE + Lifetime + Love Nature + Metro TV + MNCTV + Moonbug + MTV 90s + MTV Live + Music TV + Muslim TV + My Cinema + My Cinema Asia + My Family Channel + My Kidz + Net TV + NHK + NHK World Premium + Nick + Nick Jr + Food Travel + One + Outdoor Channel + RTV + RCTI + Reformed 21 + Rock Entertainment + Rock Action + R+ LIVE + RT + SEA Today + SindoNews + Soccer Channel + Sportstars 2 + Sportstars + SpoTV 2 + SpoTV 1 + Tawaf + Thrill + Trans 7 + Trans TV + TRT World + TV5Monde + TV 9 + TV MU + TVN + TVN Movies + TVOne + TVRI + Vision Prime + V+ LIVE 2 + V+ LIVE 3 + V+ LIVE 4 + V+ LIVE 5 + V+ LIVE + V+ Sports + Xing kong TV + Zee Bioskop + Zoo Moo + diff --git a/sites/visionplus.id/visionplus.id_id.channels.xml b/sites/visionplus.id/visionplus.id_id.channels.xml new file mode 100644 index 00000000..f39b2924 --- /dev/null +++ b/sites/visionplus.id/visionplus.id_id.channels.xml @@ -0,0 +1,128 @@ + + + ABC + Aljazeera + Al Quran Al Kareem + Anhui + Animax + ANTV + Arirang + AXN + Bali TV + Bandung TV + BBC Earth + BBC World news + beIN SPORTS + beIN SPORTS 2 + beIN SPORTS 3 + beIN SPORTS 4 + beIN SPORTS 5 + Bloomberg + BTV + Cbeebies + Celebrities TV + Celebrities TV + CCM + CCM + Celestial Movies + CGTN + CGTN Documentary + Cinemachi + Cinemachi Action + Cinemachi Kids + Cinemachi Max + Cinemachi Xtra + Channel News Asia + CNBC Asia + Crime Investigation + DAAI TV + DENS Food Channel + DENSPLAY Channel + DENS Showbizz Channel + Shanghai Dragon + Dream Works + DW + Entertainment + EURONEWS + EWTN + Fight Sports + FMN + FOX News + France 24 + GALAXY + GALAXY PREMIUM + Global Trekker + GTV + Hanacaraka TV + History + Hits + Hits Movies + Hunan TV + IDX + IMC (Indonesia Movie Channel) + iNews + JAK TV + Jiangsu TV + JTV + Kids TV + Kix + Kompas TV + LIFE + Lifetime + Love Nature + Metro TV + MNCTV + Moonbug + MTV 90s + MTV Live + Music TV + Muslim TV + My Cinema + My Cinema Asia + My Family Channel + My Kidz + Net TV + NHK + NHK World Premium + Nick + Nick Jr + Food Travel + One + Outdoor Channel + RTV + RCTI + Reformed 21 + Rock Entertainment + Rock Action + R+ LIVE + RT + SEA Today + SindoNews + Soccer Channel + Sportstars 2 + Sportstars + SpoTV 2 + SpoTV 1 + Tawaf + Thrill + Trans 7 + Trans TV + TRT World + TV5Monde + TV 9 + TV MU + TVN + TVN Movies + TVOne + TVRI + Vision Prime + V+ LIVE 2 + V+ LIVE 3 + V+ LIVE 4 + V+ LIVE 5 + V+ LIVE + V+ Sports + Xing kong TV + Zee Bioskop + Zoo Moo +