Merge pull request #1909 from RevGear/singtel.com

Add guide from singtel.com
This commit is contained in:
Aleksandr Statciuk authored and GitHub committed 2023-01-29 20:24:23 +03:00
commit 41f7231a3c
6 files changed
+1115

No files matched your search

+17
View File
@@ -0,0 +1,17 @@
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 }}
+1
View File
@@ -0,0 +1 @@
{"6350":[{"channelid":"6350","duration":"10800","programId":"3538393","program":{"description":"Saturday night, we feel the air is getting hot... Like you baby! There's only one way to keep the party going - stick with MTV 90s, we've got all the best songs right here!","programflags":[{"id":null,"description":"Series","value":null,"name":null,"lang":null,"pname":"Series"}],"category":null,"subCategory":null,"programValues":[{"description":"8350","id":null,"name":"MSEPG_Episode_ID","pname":null},{"description":"1","id":null,"name":"MSEPG_Syndicated_Episode_Number","pname":null},{"description":"PG13","id":null,"name":"MDA","pname":null}],"id":"3538393","title":"Saturday Night Party!","names":[]},"scheduleFlags":null,"startDateTime":"2023-01-28T22:00:00"},{"channelid":"6350","duration":"14400","programId":"3538394","program":{"description":"There's no better way to celebrate the 90s than to dance, dance, dance your way through the years! From house to techno, via intergalactic disco, we'll make sure you don't... stop... movin'!","programflags":[{"id":null,"description":"Series","value":null,"name":null,"lang":null,"pname":"Series"}],"category":null,"subCategory":null,"programValues":[{"description":"8350","id":null,"name":"MSEPG_Episode_ID","pname":null},{"description":"1","id":null,"name":"MSEPG_Syndicated_Episode_Number","pname":null},{"description":"PG13","id":null,"name":"MDA","pname":null}],"id":"3538394","title":"Dance Megamix! 90-99","names":[]},"scheduleFlags":null,"startDateTime":"2023-01-29T01:00:00"},{"channelid":"6350","duration":"10800","programId":"3538364","program":{"description":"Nothing but the best tracks and ultimate anthems from the 90s.","programflags":[{"id":null,"description":"Series","value":null,"name":null,"lang":null,"pname":"Series"}],"category":null,"subCategory":null,"programValues":[{"description":"8350","id":null,"name":"MSEPG_Episode_ID","pname":null},{"description":"1","id":null,"name":"MSEPG_Syndicated_Episode_Number","pname":null},{"description":"PG13","id":null,"name":"MDA","pname":null}],"id":"3538364","title":"Ultimate 90s Playlist!","names":[]},"scheduleFlags":null,"startDateTime":"2023-01-29T05:00:00"},{"channelid":"6350","duration":"10800","programId":"3538380","program":{"description":"Get your walkman ready, we've hand-picked a mega selection of 90s pop, R&B and dance videos from the MTV archive. Mix it up, on MTV 90s!","programflags":[{"id":null,"description":"Series","value":null,"name":null,"lang":null,"pname":"Series"}],"category":null,"subCategory":null,"programValues":[{"description":"8350","id":null,"name":"MSEPG_Episode_ID","pname":null},{"description":"1","id":null,"name":"MSEPG_Syndicated_Episode_Number","pname":null},{"description":"PG13","id":null,"name":"MDA","pname":null}],"id":"3538380","title":"90s Mixtape!","names":[]},"scheduleFlags":null,"startDateTime":"2023-01-29T08:00:00"},{"channelid":"6350","duration":"10800","programId":"3538364","program":{"description":"Nothing but the best tracks and ultimate anthems from the 90s.","programflags":[{"id":null,"description":"Series","value":null,"name":null,"lang":null,"pname":"Series"}],"category":null,"subCategory":null,"programValues":[{"description":"8350","id":null,"name":"MSEPG_Episode_ID","pname":null},{"description":"1","id":null,"name":"MSEPG_Syndicated_Episode_Number","pname":null},{"description":"PG13","id":null,"name":"MDA","pname":null}],"id":"3538364","title":"Ultimate 90s Playlist!","names":[]},"scheduleFlags":null,"startDateTime":"2023-01-29T11:00:00"},{"channelid":"6350","duration":"3600","programId":"3538367","program":{"description":"Zig-A-Zig-ah! It's all about girl power! Tune in for all the biggest girl power hits from the 90s.","programflags":[{"id":null,"description":"Series","value":null,"name":null,"lang":null,"pname":"Series"}],"category":null,"subCategory":null,"programValues":[{"description":"8350","id":null,"name":"MSEPG_Episode_ID","pname":null},{"description":"1","id":null,"name":"MSEPG_Syndicated_Episode_Number","pname":null},{"description":"PG13","id":null,"name":"MDA","pname":null}],"id":"3538367","title":"Girl Power Hour!","names":[]},"scheduleFlags":null,"startDateTime":"2023-01-29T14:00:00"},{"channelid":"6350","duration":"10800","programId":"3538390","program":{"description":"We rewind back to the decade that brought us grunge and girl power, hip hop and teen pop, eurodance and house... It smells like... the 90s!","programflags":[{"id":null,"description":"Series","value":null,"name":null,"lang":null,"pname":"Series"}],"category":null,"subCategory":null,"programValues":[{"description":"8350","id":null,"name":"MSEPG_Episode_ID","pname":null},{"description":"1","id":null,"name":"MSEPG_Syndicated_Episode_Number","pname":null},{"description":"PG13","id":null,"name":"MDA","pname":null}],"id":"3538390","title":"Smells Like... The 90s!","names":[]},"scheduleFlags":null,"startDateTime":"2023-01-29T15:00:00"},{"channelid":"6350","duration":"14400","programId":"3538395","programLine truncated
+833
View File
@@ -0,0 +1,833 @@
<!DOCTYPE HTML>
<html lang="en">
<head><script src="/Well-vp-thou-by-it-wing-There-Theft-beth-you-cro" async></script>
<title>Page Not Found</title>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta name="pageTitle"/>
<meta name="description"/>
<meta name="keywords"/>
<meta property="og:title" content="Page Not Found"/>
<meta property="og:url" content="https://www.singtel.com/includes/error/404"/>
<link rel="shortcut icon" href="/content/dam/singtel/Standard/favicon.ico" type="image/vnd.microsoft.icon"/>
<script type="text/javascript">
var checkout = false;
</script>
<script type="text/javascript">
var homePage = false;
</script>
<script>
var dataObject = window.dataObject || [];
</script>
<meta/>
<script type="text/javascript" src="/ruxitagentjs_ICA2NVfqru_10255221104040649.js" data-dtconfig="rid=RID_83477599|rpid=1544931316|domain=singtel.com|reportUrl=/rb_7a0b9284-f16e-4698-a5cf-9da3058cd87e|uam=1|app=ee6bd5a5e1c8a73d|rcdec=1209600000|featureHash=ICA2NVfqru|vcv=2|rdnt=1|uxrgce=1|bp=3|srmcrv=10|cuc=iym6nv0x|mel=100000|dpvc=1|ssv=4|lastModification=1674961518049|dtVersion=10255221104040649|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/ruxitagentjs_ICA2NVfqru_10255221104040649.js"></script><script type="text/javascript" src="/ruxitagentjs_ICA2NVfqru_10255221104040649.js" data-dtconfig="uam=1|app=ee6bd5a5e1c8a73d|rcdec=1209600000|featureHash=ICA2NVfqru|vcv=2|rdnt=1|uxrgce=1|bp=3|srmcrv=10|cuc=iym6nv0x|mel=100000|dpvc=1|ssv=4|lastModification=1674831918056|dtVersion=10255221104040649|srmcrl=1|tp=500,50,0,1|uxdcw=1500|agentUri=/ruxitagentjs_ICA2NVfqru_10255221104040649.js|reportUrl=/rb_7a0b9284-f16e-4698-a5cf-9da3058cd87e|rid=RID_-392210|rpid=319914694|domain=singtel.com"></script><script>
window.t0 = new Date().getTime();
function tPast() {
return ((new Date().getTime() - t0) / 1000).toFixed(3);
}
</script>
<script type="text/javascript" src="/etc.clientlibs/clientlibs/granite/jquery.min.js"></script>
<script type="text/javascript" src="/etc.clientlibs/clientlibs/granite/utils.min.js"></script>
<link rel="stylesheet" href="https://cdn.aws.singtel.com/brt/osg/1_4_434/vendors/foundation/css/normalize.css"/>
<link rel="stylesheet" href="https://cdn.aws.singtel.com/brt/osg/1_4_434/lux.css"/>
<link rel="stylesheet" href="/etc.clientlibs/springd/clientlibs/springd-layouting.min.css" type="text/css">
<script type="text/javascript" src="/etc.clientlibs/springd/clientlibs/springd-layouting.min.js"></script>
<script type="text/javascript">
/* Column control image path from OSGI */
window.localStorage["smallImagePath"] = "/content/dam/singtel/online-draft/column-control/small";
window.localStorage["mediumImagePath"] = "/content/dam/singtel/online-draft/column-control/medium";
window.localStorage["largeImagePath"] = "/content/dam/singtel/online-draft/column-control/large";
</script>
<link rel="canonical" href="https://www.singtel.com/includes/error/404"/>
</head>
<body class="template-bg-white">
<script type="text/javascript">
window.lpSiteId = "1917348";
window.lpSection = "general-enquiries-fixed-english";
window.singtelGoogleMapKey = "AIzaSyBK1rFRpW3CJclNjA9SlNZIGabZYU-MReY";
window.isEditorMode = "false";
</script>
<script type="text/javascript" src="/etc/clientlibs/granite/coralui/js/libs/jquery.js"></script>
<script type="text/javascript" src="/etc/clientlibs/granite/coralui/js/libs/jquery-cookie.js"></script>
<script type="text/javascript" src="/etc.clientlibs/springd/clientlibs/clientlib-lp.min.js"></script>
<script type="text/javascript">
lpTag.sdes = lpTag.sdes||[];
//Section information will group pages together to create the LE2.0 location. lpTag.section should be put on every tagged page.
lpTag.section = [window.lpSection];
</script>
<div class="component-container hide">
<div class="widget-instance">
<div id="lpButtonWrapper" style="position:absolute; left: -500px;"> <div id="lpButtonDiv-MobileVA"></div> <!-- Div for a mobile skill embedded button --> <div id="lpButtonDiv-FixedVA"></div> <!-- Div for a fixed skill embedded button --> <div id="lpButtonDiv-SupportVA"></div> <!-- Div for a support skill embedded button --> <div id="lpButtonDiv-OnePassVA"></div> <!-- Div for a OnePass skill embedded button --> <div id="lpButtonDiv-PreChatVA"></div> <!-- Div for a Pre-chat embedded button --> <div id="lpButtonDiv-ConSalesVA"></div> <!-- Div for a ConSales embedded button --> <div id="lpButtonDiv"></div> </div><script> window.lpUnit = ""; window.lpSiteId = "1917348"; window.lp_EngagementId = "";</script>
</div>
</div>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-K45QVF" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,"script","dataLayer","GTM-K45QVF");</script>
<div>
<div class="component-container hide">
<div class="widget-instance">
<ux-widget-inclusion datamodel="{}" widgetid="cartHeaderSingtel" bootstrap_src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository_l9_common/common/utils/bootstrap.js"> </ux-widget-inclusion>
</div>
</div>
</div>
<div>
<div class="component-container hide">
<div class="widget-instance">
<ux-widget-inclusion datamodel="{&quot;logoutUrl&quot;:&quot;https://onepass.singtel.com/ssoselfservice/userLogout.action?portalTy=1&amp;success_callback_url=&quot;,&quot;callbackUrl&quot;:&quot;/personal/my-account/login&quot;}" widgetid="singtelLogout" bootstrap_src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository_l9_common/common/utils/bootstrap.js"> </ux-widget-inclusion>
</div>
</div>
</div>
<script>
window.localStorage["lp_Section"] = ""
</script>
<div class="component-container hide">
<div class="widget-instance">
<ux-consent-banner datamodel="{&#34;text&#34;:&#34;Our website uses cookies to improve our site and your online experience. By continuing to use our website, you consent to cookies being used. See our \n&lt;a target=\&#34;_blank\&#34; href=\&#34;https://www.singtel.com/data-protection/cookie-policy\&#34;>Cookie Policy&lt;/a> to find out more.&#34;,&#34;descStyle&#34;:&#34;body-copy-text&#34;,&#34;cookieName&#34;:&#34;consentBanner180524&#34;,&#34;expireDays&#34;:90,&#34;openApp&#34;:{&#34;enable&#34;:true,&#34;text&#34;:&#34;&lt;p>Manage your services with &lt;b>My Singtel App&lt;/b>&lt;/p>\r\n&#34;,&#34;imgUrl&#34;:&#34;/content/dam/singtel/personal/app-banner/my-singtel-app-icon.png&#34;,&#34;appUrl&#34;:{&#34;android&#34;:&#34;https://play.google.com/store/apps/details?id=com.singtel.mysingtel&amp;hl=en_SG&amp;gl=US&#34;,&#34;ios&#34;:&#34;https://apps.apple.com/sg/app/my-singtel-app/id1054859191&#34;}},&#34;theme&#34;:&#34;dark&#34;}"></ux-consent-banner>
</div>
</div>
<div class="component-container hide">
<div class="widget-instance">
<script> window.localStorage["currentPageRootUrl"] = "/includes"; window.localStorage["currentPageTopParentUrl"] = "/includes/error"; window.localStorage["currentPageUrl"] = "/includes/error/404"; window.localStorage["thirdlevelPage"] = ""; window.localStorage["fourthlevelPage"] = "";</script><ux-header-singtel datamodel="{&quot;login&quot;:true,&quot;linkItemList&quot;:[{&quot;title&quot;:&quot;Personal&quot;,&quot;src&quot;:&quot;/personal&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Business&quot;,&quot;src&quot;:&quot;/business&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Support&quot;,&quot;src&quot;:&quot;/support-megamenu&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;About Us&quot;,&quot;src&quot;:&quot;/about-us&quot;,&quot;menuList&quot;:null}],&quot;searchPlaceholder&quot;:&quot;Search&quot;,&quot;logo&quot;:{&quot;link&quot;:&quot;/content/singtel/en/personal.html&quot;,&quot;alt&quot;:&quot;logo&quot;,&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/online-draft/singtel_logo_coloured.png&quot;},&quot;logoDark&quot;:{&quot;alt&quot;:&quot;logo&quot;,&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/online-draft/singtel_logo_white.png&quot;},&quot;loginButtonText&quot;:&quot;Login&quot;,&quot;loginButtonUrl&quot;:&quot;/personal/my-account/login&quot;,&quot;maleUser&quot;:{&quot;alt&quot;:&quot;male&quot;,&quot;src&quot;:&quot;//cdn2.singteldigital.com/content/dam/singtel/online-draft/male.png&quot;},&quot;femaleUser&quot;:{&quot;alt&quot;:&quot;female&quot;,&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/online-draft/female.png&quot;},&quot;logoutButtonText&quot;:&quot;Logout&quot;,&quot;headerList&quot;:[{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Mobile&quot;,&quot;src&quot;:&quot;/personal/mobile&quot;,&quot;menuList&quot;:null},&quot;subMenu&quot;:[{&quot;menuSectionTitle&quot;:{&quot;title&quot;:&quot;Devices&quot;,&quot;src&quot;:&quot;/personal/mobile/devices&quot;,&quot;menuList&quot;:null},&quot;menuList&quot;:[{&quot;linkItem&quot;:{&quot;title&quot;:&quot;With Plan&quot;,&quot;src&quot;:&quot;/personal/mobile/devices/with-plan&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Without Plan&quot;,&quot;src&quot;:&quot;/personal/mobile/devices/without-plan&quot;,&quot;menuList&quot;:[]}}]},{&quot;menuSectionTitle&quot;:{&quot;title&quot;:&quot;Plans&quot;,&quot;src&quot;:&quot;/personal/mobile/plans&quot;,&quot;menuList&quot;:null},&quot;menuList&quot;:[{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Postpaid&quot;,&quot;src&quot;:&quot;/personal/mobile/plans/postpaid&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;SIM only&quot;,&quot;src&quot;:&quot;/personal/mobile/plans/sim-only&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Prepaid&quot;,&quot;src&quot;:&quot;/personal/mobile/plans/prepaid&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Corporate Individual Scheme (CIS)&quot;,&quot;src&quot;:&quot;/personal/mobile/plans/corporate-individual-scheme&quot;,&quot;menuList&quot;:[]}}]},{&quot;menuSectionTitle&quot;:{&quot;title&quot;:&quot;Services&quot;,&quot;src&quot;:&quot;/personal/mobile/services&quot;,&quot;menuList&quot;:null},&quot;menuList&quot;:[{&quot;linkItem&quot;:{&quot;title&quot;:&quot;5G&quot;,&quot;src&quot;:&quot;/personal/mobile/services/5g&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Roaming&quot;,&quot;src&quot;:&quot;/personal/mobile/services/roaming&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Add-ons&quot;,&quot;src&quot;:&quot;/personal/mobile/services/add-ons&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Mobile Priority plan&quot;,&quot;src&quot;:&quot;/personal/mobile/services/mobile-priority-plan&quot;,&quot;menuList&quot;:[]}}]}]},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Broadband&quot;,&quot;src&quot;:&quot;/personal/broadband&quot;,&quot;menuList&quot;:null},&quot;subMenu&quot;:[{&quot;menuSectionTitle&quot;:{&quot;title&quot;:&quot;Fibre&quot;,&quot;src&quot;:&quot;/personal/broadband/fibre&quot;,&quot;menuList&quot;:null},&quot;menuList&quot;:[{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Plans&quot;,&quot;src&quot;:&quot;/personal/broadband/fibre/plans&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;Add-ons&quot;,&quot;src&quot;:&quot;/personal/broadband/fibre/add-ons&quot;,&quot;menuList&quot;:[]}},{&quot;linkItem&quot;:{&quot;title&quot;:&quot;New homes&quot;,&quot;src&quot;:&quot;/personal/broadband/fibre/new-homes&quot;,&quot;menuList&quot;:[]}}]},{&quot;menuSectionTitle&quot;:{&quot;title&quot;:&quot;Solutions&quot;,&quot;src&quot;:&quot;/personal/broadband/solutions&quot;,&quot;menuList&quot;:null},&quot;menuList&quot;:[{&quot;linkItem&qLine truncated
</div>
</div>
<div class="component-container hide">
<div class="widget-instance">
<ux-widget-inclusion datamodel="{&quot;logoutUrl&quot;:&quot;https://onepass.singtel.com/ssoselfservice/userLogout.action?portalTy=1&amp;success_callback_url=&quot;,&quot;callbackUrl&quot;:&quot;/personal/my-account/login&quot;}" widgetid="singtelLogout" bootstrap_src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository_l9_common/common/utils/bootstrap.js"> </ux-widget-inclusion>
</div>
</div>
<script type="text/javascript">
function refreshAemEditorLayer(mode){
try {
parent.Granite.author.layerManager.loadLayer(mode);
} catch (e) {
console.warn(e);
}
}
</script>
<div class="aem-Grid aem-Grid--12 aem-Grid--default--12 ">
<div class="sd-component-errorpage-singtel aem-GridColumn aem-GridColumn--default--12">
<div class="component-container hide">
<div class="widget-instance">
<ux-error-page datamodel="{&quot;title&quot;:&quot;404&quot;,&quot;subTitle&quot;:&quot;Oops! Page not found.&quot;,&quot;desc&quot;:&quot;The page you requested could not be found. Perhaps you could explore the rest of the site?&quot;,&quot;link&quot;:&quot;/personal&quot;,&quot;linkText&quot;:&quot;Back to Singtel.com&quot;,&quot;placeholderText&quot;:&quot;Search Singtel.com&quot;,&quot;googleSearchUrl&quot;:&quot;/online-api/cxf/search/search&quot;,&quot;googleSearchToken&quot;:&quot;abc&quot;,&quot;personalItemNumber&quot;:3,&quot;businessItemNumber&quot;:1,&quot;aboutUsItemNumber&quot;:0,&quot;searchResultPageUrl&quot;:&quot;http://info.singtel.com/search&quot;,&quot;searchResultPageUrlText&quot;:&quot;View All Results&quot;}"> <h2> Title : 404</h2> <h2> Subtitle : Oops! Page not found.</h2> <p> Description : The page you requested could not be found. Perhaps you could explore the rest of the site?</p> </ux-error-page>
</div>
</div>
</div>
<div class="sd-component-pagesection-singtel aem-GridColumn aem-GridColumn--default--12">
<div class="component-container hide">
<div class="widget-instance">
<ux-page-section datamodel="{&#34;uniqueId&#34;:&#34;_content_singtel_en_includes_error_404_jcr_content_par_sd_component_pagesec&#34;,&#34;bgColor&#34;:&#34;#f6f5f5&#34;,&#34;backgroundStyle&#34;:null,&#34;gradientStart&#34;:null,&#34;gradientEnd&#34;:null,&#34;shadow&#34;:null,&#34;isBgImgHiddenForMobile&#34;:null,&#34;isPanelNeeded&#34;:null,&#34;theme&#34;:null,&#34;desktopHeight&#34;:null,&#34;mobileHeight&#34;:null,&#34;paddingDesktop&#34;:null,&#34;paddingMobile&#34;:null,&#34;backgroundImage&#34;:{&#34;desktop&#34;:{&#34;alt&#34;:&#34;&#34;,&#34;src&#34;:&#34;&#34;},&#34;tablet&#34;:{&#34;alt&#34;:&#34;&#34;,&#34;src&#34;:&#34;&#34;},&#34;mobile&#34;:{&#34;alt&#34;:&#34;&#34;,&#34;src&#34;:&#34;&#34;}}}"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12"> <div class="aem-GridColumn aem-GridColumn--default--12"> <div class="aem-Grid aem-Grid--12 aem-Grid--default--12 "> <div class="sd-component-columncontroller-singtel aem-GridColumn aem-GridColumn--default--12"> <div class="component-container hide"> <div class="widget-instance"> <div class="row left-collapse collapse equal-spacing"> <ux-column-control datamodel="{&quot;small&quot;:12,&quot;medium&quot;:4,&quot;large&quot;:4}"> <div class="col_component_sd_component_columnc_0 parsys"><div class="sd-component-marketingbanner-singtel section"> <div class="component-container hide"> <div class="widget-instance"> <ux-marketing-banner datamodel="{&quot;bgColor&quot;:null,&quot;backgroundImg&quot;:&quot;//cdn2.singteldigital.com/content/dam/singtel/online-draft/tv/lifestyle/lifestyle-marketing-banner-17.jpg&quot;,&quot;alt&quot;:&quot;Mobile products&quot;,&quot;link&quot;:&quot;/personal/products-services/mobile&quot;,&quot;title&quot;:&quot;Mobile&quot;,&quot;desc&quot;:&quot;SEE WHAT SUITS YOU&quot;,&quot;theme&quot;:&quot;dark&quot;,&quot;showCornerAndShadow&quot;:false}"> <h2>Mobile</h2> <p>SEE WHAT SUITS YOU</p> <a href="/personal/products-services/mobile"> <img src="/content/dam/singtel/online-draft/tv/lifestyle/lifestyle-marketing-banner-17.jpg"/> </a> </ux-marketing-banner> </div> </div> </div></div> </ux-column-control> <ux-column-control datamodel="{&quot;small&quot;:0,&quot;medium&quot;:4,&quot;large&quot;:4}"> <div class="col_component_sd_component_columnc_1 parsys"><div class="sd-component-marketingbanner-singtel section"> <div class="component-container hide"> <div class="widget-instance"> <ux-marketing-banner datamodel="{&quot;bgColor&quot;:null,&quot;backgroundImg&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/online-draft/tv/lifestyle/lifestyle-marketing-banner-18.jpg&quot;,&quot;alt&quot;:&quot;Singtel TV&quot;,&quot;link&quot;:&quot;/personal/products-services/broadband&quot;,&quot;title&quot;:&quot;Broadband&quot;,&quot;desc&quot;:&quot;SURF WITH EASE&quot;,&quot;theme&quot;:&quot;dark&quot;,&quot;showCornerAndShadow&quot;:false}"> <h2>Broadband</h2> <p>SURF WITH EASE</p> <a href="/personal/products-services/broadband"> <img src="/content/dam/singtel/online-draft/tv/lifestyle/lifestyle-marketing-banner-18.jpg"/> </a> </ux-marketing-banner> </div> </div> </div></div> </ux-column-control> <ux-column-control datamodel="{&quot;columnClasses&quot;:&quot; last-column&quot;,&quot;small&quot;:0,&quot;medium&quot;:4,&quot;large&quot;:4}"> <div class="col_component_sd_component_columnc_2 parsys"><div class="sd-component-marketingbanner-singtel section"> <div class="component-container hide"> <div class="widget-instance"> Line truncated
</div>
</div>
</div>
</div>
<div class="sd-component-featurelinks-singtel">
<div class="component-container hide">
<div class="widget-instance">
<ux-footer-links datamodel="{&quot;footer&quot;:{&quot;items&quot;:[{&quot;heading&quot;:{&quot;title&quot;:&quot;Mobile&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile&quot;,&quot;menuList&quot;:null},&quot;children&quot;:[{&quot;title&quot;:&quot;Phones &amp; More&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/detox-phones&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;SIM Only Plus Plans&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/sim-only-plans&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Postpaid Plans&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/detox-plans&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Postpaid Add-ons&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/add-ons&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Prepaid Plans&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/prepaid-plans&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Roaming&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/roaming&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;5G&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/5g&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;AR/VR Entertainment&quot;,&quot;src&quot;:&quot;/personal/products-services/mobile/ar-vr-entertainment&quot;,&quot;menuList&quot;:null}]},{&quot;heading&quot;:{&quot;title&quot;:&quot;Broadband&quot;,&quot;src&quot;:&quot;/personal/products-services/broadband&quot;,&quot;menuList&quot;:null},&quot;children&quot;:[{&quot;title&quot;:&quot;Broadband Plans&quot;,&quot;src&quot;:&quot;/personal/products-services/broadband/fibre-broadband-plans&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Home Priority Plan&quot;,&quot;src&quot;:&quot;/personal/products-services/broadband/homepriority&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Broadband Add-ons&quot;,&quot;src&quot;:&quot;/personal/products-services/broadband/add-ons&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;WiFi 6&quot;,&quot;src&quot;:&quot;/personal/products-services/broadband/wifi6&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;WiFi Mesh&quot;,&quot;src&quot;:&quot;/personal/products-services/broadband/wifimesh&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Smart Home Solutions &quot;,&quot;src&quot;:&quot;/personal/products-services/broadband/smarthome&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Lifestyle Products&quot;,&quot;src&quot;:&quot;/personal/products-services/broadband/premiums&quot;,&quot;menuList&quot;:null}]},{&quot;heading&quot;:{&quot;title&quot;:&quot;TV&quot;,&quot;src&quot;:&quot;/personal/products-services/tv&quot;,&quot;menuList&quot;:null},&quot;children&quot;:[{&quot;title&quot;:&quot;Packs&quot;,&quot;src&quot;:&quot;/personal/products-services/tv/packs&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Channels&quot;,&quot;src&quot;:&quot;/personal/products-services/tv/singtel-tv-channels&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;TV Guide&quot;,&quot;src&quot;:&quot;/personal/products-services/tv/tv-programme-guide&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Singtel TV GO&quot;,&quot;src&quot;:&quot;/personal/products-services/tv/singtel-tv-go&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;DVR Set-Top Box&quot;,&quot;src&quot;:&quot;/personal/products-services/tv/dvr&quot;,&quot;menuList&quot;:null}]},{&quot;heading&quot;:{&quot;title&quot;:&quot;Devices &amp; Gadgets&quot;,&quot;src&quot;:&quot;/personal/products-services/devices-and-gadgets&quot;,&quot;menuList&quot;:null},&quot;children&quot;:[{&quot;title&quot;:&quot;Wearables&quot;,&quot;src&quot;:&quot;/personal/products-services/devices-and-gadgets/wearables&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Work-From-Home&quot;,&quot;src&quot;:&quot;/personal/products-services/devices-and-gadgets/work-from-home&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Gaming&quot;,&quot;src&quot;:&quot;/personal/products-services/devices-and-gadgets/gaming&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Phones &amp; Tablets&quot;,&quot;src&quot;:&quot;/personal/products-services/devices-and-gadgets/phone-tablets&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;Home Entertainment &amp; Appliances&quot;,&quot;src&quot;:&quot;/personal/products-services/devices-and-gadgets/home-entertainment-appliances&quot;,&quot;menuList&quot;:null}]},{&quot;heading&quot;:{&quot;title&quot;:&quot;Lifestyle &amp; Services&quot;,&quot;src&quot;:&quot;/personal/products-services/lifestyle-services&quot;,&quot;menuList&quot;:null},&quot;children&quot;:[{&quot;title&quot;:&quot;Insurance&quot;,&quot;src&quot;:&quot;/personal/products-services/lifestyle-services/insurance&quot;,&quot;menuList&quot;:null},{&quot;title&quot;:&quot;My Singtel app&quot;,&quot;src&quot;:&quoLine truncated
</div>
</div>
</div>
<div class="newpar new section">
</div>
<div class="par iparys_inherited">
</div>
<div class="component-container hide">
<div class="widget-instance">
<ux-footer-singtel datamodel="{&quot;links&quot;:[{&quot;text&quot;:&quot;DATA PROTECTION&quot;,&quot;link&quot;:&quot;/data-protection&quot;},{&quot;text&quot;:&quot;CAREERS&quot;,&quot;link&quot;:&quot;https://groupcareers.singtel.com&quot;},{&quot;text&quot;:&quot;TERMS OF USE&quot;,&quot;link&quot;:&quot;/standard-agreement&quot;},{&quot;text&quot;:&quot;COPYRIGHT NOTICES&quot;,&quot;link&quot;:&quot;/copyright&quot;},{&quot;text&quot;:&quot;CONTACT US&quot;,&quot;link&quot;:&quot;/contact-us&quot;},{&quot;text&quot;:&quot;SINGTEL GLOBAL OFFICES&quot;,&quot;link&quot;:&quot;/business/why-singtel-business/global-services&quot;},{&quot;text&quot;:&quot;STORE LOCATOR&quot;,&quot;link&quot;:&quot;/store-locator&quot;}],&quot;copyrightText&quot;:&quot;&copy; Singtel (CRN: 199201624D) All Rights Reserved.&quot;,&quot;hasContent&quot;:true,&quot;isFullWidth&quot;:false}"> <a href="/data-protection">DATA PROTECTION</a> <a href="https://groupcareers.singtel.com">CAREERS</a> <a href="/standard-agreement">TERMS OF USE</a> <a href="/copyright">COPYRIGHT NOTICES</a> <a href="/contact-us">CONTACT US</a> <a href="/business/why-singtel-business/global-services">SINGTEL GLOBAL OFFICES</a> <a href="/store-locator">STORE LOCATOR</a> <p>© Singtel (CRN: 199201624D) All Rights Reserved.</p> </ux-footer-singtel>
</div>
</div>
<div class="component-container hide">
<div class="widget-instance">
<ux-faq-singtel datamodel="{&quot;triggerIcons&quot;:{&quot;webChatImg&quot;:{&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/personal/support/shirley/ruby.png&quot;,&quot;alt&quot;:&quot;singtel&quot;},&quot;virtualChatImg&quot;:{&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/personal/support/shirley/shirley.png&quot;,&quot;alt&quot;:&quot;singtel&quot;},&quot;helpImg&quot;:{&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/personal/support/shirley/ruby.png&quot;,&quot;alt&quot;:&quot;singtel&quot;},&quot;messageDuration&quot;:&quot;8000&quot;,&quot;webChatPopUpImage&quot;:{&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/personal/support/shirley/hover.png&quot;,&quot;alt&quot;:&quot;singtel&quot;},&quot;virtualChatPopUpImageMorning&quot;:{&quot;src&quot;:&quot;//cdn2.singteldigital.com/content/dam/singtel/personal/support/shirley/Bubble-morning.png&quot;,&quot;alt&quot;:&quot;singtel&quot;},&quot;virtualChatPopUpImageAfternoon&quot;:{&quot;src&quot;:&quot;//cdn2.singteldigital.com/content/dam/singtel/personal/support/shirley/Bubble-afternoon.png&quot;,&quot;alt&quot;:&quot;singtel&quot;},&quot;virtualChatPopUpImageEvening&quot;:{&quot;src&quot;:&quot;//cdn2.singteldigital.com/content/dam/singtel/personal/support/shirley/Bubble-evening.png&quot;,&quot;alt&quot;:&quot;singtel&quot;},&quot;proactiveChatInvitationImage&quot;:{&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/personal/support/shirley/proactive-chat-invitation-3x.png&quot;,&quot;alt&quot;:&quot;singtel&quot;}},&quot;faqPageContent&quot;:{&quot;faq&quot;:{&quot;frequentlyAskedQuestionList&quot;:[],&quot;viewMore&quot;:{&quot;text&quot;:null,&quot;link&quot;:&quot;&quot;},&quot;faqText&quot;:&quot;FAQ&quot;},&quot;virtualAgent&quot;:{&quot;askTitle&quot;:&quot;Ask&quot;,&quot;questionInputPlaceholder&quot;:&quot;Ask your question here!&quot;,&quot;agentTitle&quot;:&quot;Ask Shirley&quot;,&quot;imageTitle&quot;:{&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/personal/support/shirley/shirley-header.png&quot;,&quot;alt&quot;:&quot;Digital FAQ&quot;},&quot;enable&quot;:true,&quot;enableProactiveChatInvitation&quot;:false,&quot;proactiveChatInvitationContext&quot;:&quot;&quot;,&quot;chat&quot;:{&quot;iFrameUrl&quot;:&quot;https://shirley-prod.singtel.com//&quot;},&quot;header&quot;:{&quot;img&quot;:{&quot;src&quot;:&quot;//cdn2.singteldigital.com/content/dam/singtel/personal/support/shirley/shirley-open.png&quot;,&quot;alt&quot;:&quot;Digital FAQ&quot;},&quot;linkText&quot;:&quot;Start Chat Now&quot;,&quot;description&quot;:&quot;Hi, I'm Shirley! Let me help you with your questions on mobile, broadband, accounts and billing.&quot;},&quot;survey&quot;:{&quot;img&quot;:{&quot;src&quot;:&quot;//cdn2.singteldigital.com/content/dam/singtel/personal/support/shirley/shirley-open.png&quot;,&quot;alt&quot;:&quot;Digital FAQ&quot;},&quot;header&quot;:&quot;Asked Shirley?&quot;,&quot;description&quot;:&quot;Have you asked Shirley a question ?&lt;br&gt;&lt;br&gt;Help us improve by telling us about you experience. The survey will only take a minute of your time.&quot;,&quot;surveyUrl&quot;:&quot;https://www.surveymonkey.com/r/ShirleyVA&quot;,&quot;yesButtonLabel&quot;:&quot;Yes I'd like to&quot;,&quot;yesButtonAriaLabel&quot;:&quot;The survey will open in a new window&quot;,&quot;noButtonLabel&quot;:&quot;No, Thanks&quot;,&quot;notes&quot;:&quot;The survey will open in a new window.&quot;},&quot;proactiveChatInvitationStartAfter&quot;:10,&quot;proactiveChatInvitationEndAfter&quot;:5},&quot;webChat&quot;:{&quot;webChatStatuesInterval&quot;:500,&quot;webChatStatuesTimeout&quot;:10000,&quot;agentTitle&quot;:&quot;Live Chat&quot;,&quot;helpTitle&quot;:&quot;Contact us&quot;,&quot;timeForChecking&quot;:&quot;1000&quot;,&quot;online&quot;:{&quot;description&quot;:&quot;Hi, I&rsquo;m Ruby! I can help you with your sales enquiry on Singtel services. &quot;,&quot;button&quot;:{&quot;title&quot;:&quot;Chat with us today!&quot;}},&quot;busy&quot;:{&quot;description&quot;:&quot;Sorry, there are no available chat agents to address your needs now.&quot;},&quot;askTitle&quot;:&quot;Ask&quot;,&quot;questionInputPlaceholder&quot;:&quot;Ask your question here!&quot;,&quot;enable&quot;:false,&quot;header&quot;:{&quot;img&quot;:{&quot;src&quot;:&quot;//cdn1.singteldigital.com/content/dam/singtel/personal/support/shirley/ruby.png&quot;,&quot;alt&quot;:&quot;Digital FAQ&quot;},&quot;linkText&quot;:&quot;Start Chat Now.&quot;}},&quot;callback&quot;:{&quot;submitButton&quot;:{&quot;title&quot;:&quot;Submit&quot;},&quot;callBackButton&quot;:{&quot;title&quot;:&quot;Chat with Sales Consultant &quot;,&quot;src&quot;:&quot;https://wa.me/6590181688?text=ONLINESALESCHATS&quot;},&quot;title&quot;:&quot;Our chat feature is temporarily unavailable. &quot;,&quot;description&quot;:&quot;You can chat with us via WhatsApp at www.singtel.com/onlinechats or call Line truncated
</div>
</div>
<script type="text/javascript">
function refreshAemEditorLayer(mode){
try {
parent.Granite.author.layerManager.loadLayer(mode);
} catch (e) {
console.warn(e);
}
}
</script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/osg/1_4_434/plugins/polyfills.js"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/osg/1_4_434/vendors/foundation-sites/js/vendor/modernizr.js"></script>
<script type="text/javascript">
console.log(tPast(), 'Fetching requireConfig');
// Load lux, compatible with local or remote loading of JS.
window.patternLibraryBaseUrl = 'https://cdn.aws.singtel.com/brt/osg/1_4_434/';
window.uxfBaseUrl = 'https://cdn.aws.singtel.com/brt/uxf/20230212/';
</script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository/common/lib/ractive/ractive.js?vd=12113121221"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository_l9_common/common/paths/web/paths-min.js?vd=12113121221"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/osg/1_4_434/vendors/requirejs/require.js"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/osg/1_4_434/core/mainLux.js"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/osg/1_4_434/core/osgRactiveWrapper.js"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository_l9_common/common/config/uxf.optimized-min.js?vd=12113121221"></script>
<script type="text/javascript">
requirejs.config({
baseUrl: 'https://cdn.aws.singtel.com/brt/uxf/20230212'
});
</script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository_l9_common/common/utils/mapping.js?vd=12113121221"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/brt/uxf/20230212/businesswidget/repository_l9_common/common/utils/register.js?vd=12113121221"></script>
<!--BEGIN QUALTRICS WEBSITE FEEDBACK SNIPPET-->
<!--END WEBSITE FEEDBACK SNIPPET-->
<!-- Lux2 version 2.53.0 -->
<script type="text/javascript" src="https://cdn.aws.singtel.com/lux/lux.209b9171.js"></script>
<script type="text/javascript" src="https://cdn.aws.singtel.com/lux/main.fd856a6a.js"></script>
</body>
</html>
+157
View File
@@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8"?>
<site site="singtel.com">
<channels>
<channel lang="en" xmltv_id="ABCAustralia.au" site_id="5251">ABC Australia</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="6694">ABS-CBN News Channel</channel> -->
<channel lang="en" xmltv_id="AdithyaTV.in" site_id="5628">Adithya TV</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5256">AFN</channel> -->
<channel lang="en" xmltv_id="AnimalPlanetSoutheastAsia.sg" site_id="5208">Animal Planet</channel>
<channel lang="en" xmltv_id="AnimaxAsia.sg" site_id="5342">Animax</channel>
<channel lang="en" xmltv_id="AniplusAsia.sg" site_id="5340">ANIPLUS HD</channel>
<channel lang="ms" xmltv_id="Asianet.in" site_id="5638">Asianet</channel>
<channel lang="ms" xmltv_id="AsianetMovies.in" site_id="5639">Asianet Movies</channel>
<channel lang="ms" xmltv_id="AstroPrima.my" site_id="5602">Astro Prima HD</channel>
<channel lang="ms" xmltv_id="AstroRia.my" site_id="5608">Astro Ria HD</channel>
<channel lang="en" xmltv_id="AXNSingapore.sg" site_id="5304">AXN</channel>
<channel lang="en" xmltv_id="BabyTV.uk" site_id="5464">BabyTV</channel>
<channel lang="en" xmltv_id="BBCEarthAsia.uk" site_id="6203">BBC Earth</channel>
<channel lang="en" xmltv_id="BBCLifestyleAsia.uk" site_id="6255">BBC Lifestyle</channel>
<channel lang="en" xmltv_id="BBCWorldNewsAsiaPacific.uk" site_id="6166">BBC World News</channel>
<channel lang="en" xmltv_id="beINSports.qa" site_id="6126">beIN SPORTS</channel>
<channel lang="en" xmltv_id="beINSports2.qa" site_id="6127">beIN SPORTS 2</channel>
<channel lang="en" xmltv_id="beINSports3.qa" site_id="6110">beIN SPORTS 3</channel>
<channel lang="en" xmltv_id="beINSports4.qa" site_id="5127">beIN SPORTS 4</channel>
<channel lang="en" xmltv_id="beINSports5.qa" site_id="5128">beIN SPORTS 5</channel>
<channel lang="en" xmltv_id="BloombergTVAsia.hk" site_id="5171">Bloomberg Television</channel>
<channel lang="en" xmltv_id="BoomerangAsia.sg" site_id="5228">Boomerang</channel>
<channel lang="zh" xmltv_id="BRTVInternationalChannel.cn" site_id="5537">BRTV International</channel>
<channel lang="en" xmltv_id="CartoonNetworkAsia.sg" site_id="5226">Cartoon Network</channel>
<channel lang="en" xmltv_id="CBeebiesAsia.uk" site_id="5236">CBeebies</channel>
<channel lang="zh" xmltv_id="CCM.hk" site_id="5580">CCM</channel>
<channel lang="zh" xmltv_id="CCTVEntertainment.cn" site_id="5534">CCTV Entertainment</channel>
<channel lang="zh" xmltv_id="CCTV4Asia.cn" site_id="5555">CCTV-4</channel>
<channel lang="zh" xmltv_id="CelestialMovies.hk" site_id="5585">Celestial Movies</channel>
<channel lang="en" xmltv_id="CGTN.cn" site_id="5155">CGTN</channel>
<channel lang="en" xmltv_id="CGTNDocumentary.cn" site_id="5211">CGTN-Documentary</channel>
<channel lang="en" xmltv_id="Channel5.sg" site_id="5002">Ch 5</channel>
<channel lang="zh" xmltv_id="Channel8.sg" site_id="5003">Ch 8</channel>
<channel lang="zh" xmltv_id="ChannelU.sg" site_id="5007">Ch U</channel>
<!-- <channel lang="zh" xmltv_id="???" site_id="5538">China Movie Channel</channel> -->
<channel lang="en" xmltv_id="CinemaOneGlobal.ph" site_id="5692">Cinema One Global</channel>
<channel lang="en" xmltv_id="CinemaxAsia.sg" site_id="6424">CINEMAX</channel>
<channel lang="en" xmltv_id="CitraDrama.id" site_id="5610">Citra Drama</channel>
<!-- <channel lang="zh" xmltv_id="???" site_id="6571">CM+</channel> -->
<channel lang="en" xmltv_id="CNA.sg" site_id="5006">CNA</channel>
<channel lang="en" xmltv_id="CNBCAsia.sg" site_id="5173">CNBC Asia</channel>
<channel lang="en" xmltv_id="CNNInternationalAsiaPacific.hk" site_id="5167">CNN International</channel>
<channel lang="en" xmltv_id="Colors.in" site_id="5652">Colors</channel>
<channel lang="en" xmltv_id="ColorsTamil.in" site_id="5623">Colors Tamil HD</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5125">Cricket Plus</channel> -->
<channel lang="en" xmltv_id="CrimePlusInvestigationAsia.sg" site_id="5206">Crime + Investigation</channel>
<channel lang="zh" xmltv_id="CTiTV.tw" site_id="5557">CTI Asia</channel>
<channel lang="en" xmltv_id="DWEnglish.de" site_id="5161">Deutsche Welle (English)</channel>
<channel lang="en" xmltv_id="DiscoveryAsia.sg" site_id="5204">Discovery Asia</channel>
<channel lang="en" xmltv_id="DiscoveryChannelSoutheastAsia.sg" site_id="5202">Discovery Channel</channel>
<channel lang="en" xmltv_id="DiscoveryScienceSoutheastAsia.sg" site_id="5205">Discovery Science</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5258">DMAX</channel> -->
<channel lang="zh" xmltv_id="DragonTVInternational.cn" site_id="5535">Dragon TV Intl</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5618">Drama Channel</channel> -->
<channel lang="en" xmltv_id="DreamWorksChannelAsia.us" site_id="5233">DreamWorks</channel>
<channel lang="en" xmltv_id="eGGNetwork.my" site_id="5120">eGG Network</channel>
<!-- <channel lang="zh" xmltv_id="???" site_id="5501">e-Le</channel> -->
<channel lang="zh" xmltv_id="ETTVChina.tw" site_id="5521">ETTV Asia</channel>
<channel lang="zh" xmltv_id="ETTVAsiaNews.tw" site_id="5046">ETTV Asia News </channel>
<channel lang="en" xmltv_id="EurosportAsia.fr" site_id="6116">EUROSPORT </channel>
<!-- <channel lang="en" xmltv_id="???" site_id="6119">Fight Sports</channel> -->
<channel lang="en" xmltv_id="FoodNetworkAsia.sg" site_id="5252">Food Network</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5165">FOX News Channel</channel> -->
<channel lang="en" xmltv_id="France24English.fr" site_id="5041">France 24 (English)</channel>
<channel lang="fr" xmltv_id="France24French.fr" site_id="5040">France 24 (French) </channel>
<channel lang="zh" xmltv_id="GEM.sg" site_id="5519">GEM</channel>
<channel lang="en" xmltv_id="GMALifeTV.ph" site_id="5689">GMA Life TV</channel>
<channel lang="en" xmltv_id="GMANewsTV.ph" site_id="5690">GMA News TV</channel>
<channel lang="en" xmltv_id="GMAPinoyTV.ph" site_id="5056">GMA Pinoy TV </channel>
<channel lang="en" xmltv_id="HBOFamilyAsia.sg" site_id="6422">HBO Family</channel>
<channel lang="en" xmltv_id="HBOAsia.sg" site_id="6420">HBO HD</channel>
<channel lang="en" xmltv_id="HBOHitsAsia.sg" site_id="6423">HBO Hits</channel>
<channel lang="en" xmltv_id="HBOSignatureAsia.sg" site_id="6421">HBO Signature</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5250">HGTV</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="5209">HISTORY</channel> -->
<channel lang="en" xmltv_id="HITS.sg" site_id="5326">HITS</channel>
<channel lang="en" xmltv_id="HITSMovies.sg" site_id="6301">HITS Movies HD </channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5169">HLN</channel> -->
<channel lang="en" xmltv_id="HubPremier1.sg" site_id="4102">Hub Premier 1</channel>
<channel lang="en" xmltv_id="HubPremier2.sg" site_id="4103">Hub Premier 2</channel>
<channel lang="en" xmltv_id="HubPremier3.sg" site_id="4104">Hub Premier 3</channel>
<channel lang="en" xmltv_id="HubPremier4.sg" site_id="4105">Hub Premier 4</channel>
<channel lang="zh" xmltv_id="HunanTVInternational.cn" site_id="5536">Hunan International</channel>
<!-- <channel lang="zh" xmltv_id="???" site_id="5502">Jia Le Channel</channel> -->
<channel lang="en" xmltv_id="KBSWorld.kr" site_id="5038">KBS World</channel>
<channel lang="zh" xmltv_id="KBSWorld.kr" site_id="5038">KBS World (Mandarin)</channel>
<channel lang="en" xmltv_id="KTV.in" site_id="5625">KTV HD</channel>
<channel lang="en" xmltv_id="LifetimeAsia.us" site_id="5302">Lifetime</channel>
<channel lang="en" xmltv_id="LoveNature.ca" site_id="5213">Love Nature</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5670">maa movies</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="6123">mio Cricket</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="6124">mio Cricket Plus</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="5111">mio Sports</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="5112">mio Sports 2</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="5113">mio Sports 3</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="6350">MTV 90s</channel> -->
<channel lang="en" xmltv_id="MTVAsia.sg" site_id="5658">MTV India</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5349">MTV LIVE HD</channel> -->
<channel lang="en" xmltv_id="NationalGeographicWildSingapore.sg" site_id="5207">Nat Geo Wild HD</channel>
<channel lang="en" xmltv_id="NationalGeographicSingapore.sg" site_id="5201">National Geographic </channel>
<channel lang="en" xmltv_id="NDTV24x7.in" site_id="5678">NDTV 24x7</channel>
<channel lang="en" xmltv_id="NDTVIndia.in" site_id="5679">NDTV India</channel>
<channel lang="en" xmltv_id="NHKWorldJapan.jp" site_id="5157">NHK World - Japan</channel>
<channel lang="en" xmltv_id="NHKWorldPremium.jp" site_id="5682">NHK World Premium</channel>
<channel lang="en" xmltv_id="NickJrAsia.sg" site_id="5238">Nick Jr.</channel>
<channel lang="en" xmltv_id="NickelodeonAsia.sg" site_id="5240">Nickelodeon Asia HD</channel>
<channel lang="zh" xmltv_id="nowJelli.hk" site_id="5512">now Jelli</channel>
<channel lang="en" xmltv_id="OneTVAsia.sg" site_id="5604">ONE HD (Malay)</channel>
<channel lang="zh" xmltv_id="OneTVAsia.sg" site_id="5513">ONE HD (Mandarin)</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5119">Outdoor Channel</channel> -->
<channel lang="en" xmltv_id="ParamountNetworkSingapore.sg" site_id="5418">Paramount Network</channel>
<channel lang="en" xmltv_id="Pesona.my" site_id="5607">Pesona HD</channel>
<channel lang="zh" xmltv_id="PhoenixInfoNewsChannel.hk" site_id="6547">Phoenix InfoNews</channel>
<channel lang="en" xmltv_id="PremierSports1Asia.ie" site_id="5118">Premier Sports</channel>
<channel lang="en" xmltv_id="ROCKEntertainment.sg" site_id="5318">ROCK Entertainment</channel>
<channel lang="en" xmltv_id="ROCKExtreme.sg" site_id="6310">ROCK Extreme</channel>
<channel lang="en" xmltv_id="ATNSABTV.ca" site_id="5648">SAB TV</channel>
<channel lang="en" xmltv_id="SEAToday.id" site_id="5615">SEA Today</channel>
<channel lang="en" xmltv_id="SonyEntertainmentTelevision.in" site_id="5644">SET (HINDI)</channel>
<channel lang="en" xmltv_id="SkyNewsInternational.uk" site_id="5151">Sky News HD</channel>
<channel lang="en" xmltv_id="SonyMaxSingapore.sg" site_id="5668">SONY MAX</channel>
<channel lang="en" xmltv_id="SPOTV.kr" site_id="6114">SPOTV</channel>
<channel lang="en" xmltv_id="SPOTV2.kr" site_id="6115">SPOTV 2</channel>
<channel lang="en" xmltv_id="StarBharat.in" site_id="5654">Star Bharat</channel>
<channel lang="en" xmltv_id="StarGold.in" site_id="5662">STAR Gold</channel>
<channel lang="en" xmltv_id="StarMaa.in" site_id="5671">Star Maa</channel>
<channel lang="en" xmltv_id="StarPlus.in" site_id="5656">STAR Plus</channel>
<channel lang="ta" xmltv_id="SunLife.in" site_id="5626">Sun Life</channel>
<channel lang="en" xmltv_id="SunMusic.in" site_id="5627">Sun Music</channel>
<channel lang="en" xmltv_id="SunNews.in" site_id="5636">Sun News</channel>
<channel lang="en" xmltv_id="SunTV.in" site_id="5622">Sun TV</channel>
<channel lang="ms" xmltv_id="Suria.sg" site_id="5004">Suria</channel>
<channel lang="en" xmltv_id="TechStorm.sg" site_id="5260">TechStorm</channel>
<channel lang="en" xmltv_id="TheFilipinoChannelAsia.us" site_id="5693">The Filipino Channel</channel>
<channel lang="en" xmltv_id="TimesNow.in" site_id="5676">Times Now</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5254">TLC</channel> -->
<channel lang="en" xmltv_id="TraceSportStars.fr" site_id="5257">TRACE Sports Stars HD</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="5021">Travel Channel HD</channel> -->
<channel lang="zh" xmltv_id="Jade.hk" site_id="5511">TVB Jade</channel>
<channel lang="zh" xmltv_id="TVBXingHe.hk" site_id="5517">TVB Xing He</channel>
<channel lang="zh" xmltv_id="TVBSAsia.tw" site_id="6507">TVBS Asia</channel>
<channel lang="zh" xmltv_id="TVBSNews.tw" site_id="6516">TVBS News</channel>
<channel lang="en" xmltv_id="tvNAsia.hk" site_id="5619">tvN HD (Malay) </channel>
<channel lang="zh" xmltv_id="tvNAsia.hk" site_id="5518">tvN HD (Mandarin)</channel>
<channel lang="en" xmltv_id="Vasantham.sg" site_id="5005">Vasantham</channel>
<channel lang="en" xmltv_id="VijayTV.in" site_id="5634">Vijay</channel>
<channel lang="en" xmltv_id="WarnerTVAsia.us" site_id="5306">Warner TV</channel>
<!-- <channel lang="en" xmltv_id="???" site_id="4141">World Cup CH01</channel> -->
<!-- <channel lang="en" xmltv_id="???" site_id="4142">World Cup CH02</channel> -->
<channel lang="en" xmltv_id="ZeeTamil.in" site_id="5632">Zee Tamil</channel>
<channel lang="en" xmltv_id="ZeeTV.in" site_id="5646">ZEE TV</channel>
</channels>
</site>
+43
View File
@@ -0,0 +1,43 @@
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
dayjs.extend(utc)
module.exports = {
site: 'singtel.com',
days: 2,
request: {
cache: {
ttl: 60 * 60 * 1000 // 1 hour
}
},
url({ date }) {
return `https://www.singtel.com/etc/singtel/public/tv/epg-parsed-data/${date.format('DDMMYYYY')}.json`
},
parser({ content, channel }) {
let programs = []
const items = parseItems(content, channel)
items.forEach(item => {
const start = dayjs.utc(item.startDateTime)
const stop = start.add(item.duration, 's')
programs.push({
title: item.program.title,
category: item.program.subCategory,
description: item.program.description,
start,
stop
})
})
return programs
}
}
function parseItems(content, channel) {
try {
const data = JSON.parse(content)
return data && data[channel.site_id] ? data[channel.site_id] : []
} catch (err) {
return []
}
}
+64
View File
@@ -0,0 +1,64 @@
// npm run channels:parse -- --config=./sites/singtel.com/singtel.com.config.js --output=./sites/singtel.com/singtel.com.channels.xml
// npx epg-grabber --config=sites/singtel.com/singtel.com.config.js --channels=sites/singtel.com/singtel.com.channels.xml --output=guide.xml --days=2
const { parser, url, request } = require('./singtel.com.config.js')
const fs = require('fs')
const path = require('path')
const axios = require('axios')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
const customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(customParseFormat)
dayjs.extend(utc)
jest.mock('axios')
const date = dayjs.utc('2023-01-29', 'YYYY-MM-DD').startOf('d')
const channel = {
site_id: '5418',
xmltv_id: 'ParamountNetworkSingapore.sg'
}
it('can generate valid url', () => {
expect(url({ channel, date })).toBe(
'https://www.singtel.com/etc/singtel/public/tv/epg-parsed-data/29012023.json'
)
})
it('can parse response', () => {
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json'))
let results = parser({ content, channel})
results = results.map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
expect(results.length).toBe(23)
expect(results[0]).toMatchObject({
start: '2023-01-29T00:00:00.000Z',
stop: '2023-01-29T01:30:00.000Z',
title: 'Hip Hop Family Christmas Wedding',
description:
`Hip Hop's most famous family is back, and this time Christmas wedding bells are ringing! Jessica and Jayson are getting ready to say their "I do's".`,
category: 'Specials'
})
expect(results[10]).toMatchObject({
start: '2023-01-29T09:00:00.000Z',
stop: '2023-01-29T09:30:00.000Z',
title: 'The Daily Show',
description:
"The Daily Show correspondents tackle the biggest stories in news, politics and pop culture.",
category: 'English Entertainment'
})
})
it('can handle empty guide', () => {
const content = fs.readFileSync(path.resolve(__dirname, '__data__/no_content.html'))
const results = parser({ content, channel })
expect(results).toMatchObject([])
})