Neo_Player

Untitled

Apr 11th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $.getScript("https://cdn.jsdelivr.net/npm/[email protected]/lib/jquery.tabletojson.min.js", function () {
  2.     function download(data, filename, type) {
  3.         var file = new Blob([data], {
  4.             type: type
  5.         });
  6.         if (window.navigator.msSaveOrOpenBlob) // IE10+
  7.             window.navigator.msSaveOrOpenBlob(file, filename);
  8.         else { // Others
  9.             var a = document.createElement("a"),
  10.                 url = URL.createObjectURL(file);
  11.             a.href = url;
  12.             a.download = filename;
  13.             document.body.appendChild(a);
  14.             a.click();
  15.             setTimeout(function () {
  16.                 document.body.removeChild(a);
  17.                 window.URL.revokeObjectURL(url);
  18.             }, 0);
  19.         }
  20.     }
  21.  
  22.     function sortMarkets(array) {
  23.         return array.sort(function (a, b) {
  24.             var la = a["language"];
  25.             var lb = b["language"];
  26.  
  27.             var ca = a["country"];
  28.             var cb = b["country"];
  29.  
  30.  
  31.             if (la < lb) return -1;
  32.             if (la > lb) return 1;
  33.             if (ca < cb) return -1;
  34.             if (ca > cb) return 1;
  35.             return 0;
  36.         });
  37.     }
  38.  
  39.     $('th div').each(function () {
  40.         var el = $(this).find("p:first");
  41.         var text = el.text();
  42.  
  43.         if (!text.endsWith(" - ")) {
  44.             el.text(text + " - ");
  45.         }
  46.     });
  47.  
  48.     var table = $('#MercedesMeintegrationstatus-CMScontentsetup').nextAll('div').find('table').tableToJSON({
  49.         extractor: function (cellIndex, $cell) {
  50.             var cls = $cell.attr('class');
  51.  
  52.             if (cls.includes("highlight") && cls.includes("green")) {
  53.                 return "YES";
  54.             } else if (cls.includes("highlight")) {
  55.                 return "NO";
  56.             }
  57.  
  58.             return $cell.text();
  59.         }
  60.     });
  61.  
  62.     var spas = {};
  63.     $.each(table, function (i, row) {
  64.         for (key in row) {
  65.             var region = row["RD-Region"];
  66.             var country = row["Country"];
  67.             var language = row["Language"];
  68.  
  69.             if (key != "Nr" && key != "Domain" && key != "RD-Region" && key != "Country" && key != "Language") {
  70.                 if (!(key in spas)) {
  71.                     spas[key] = {
  72.                         markets: []
  73.                     };
  74.                 }
  75.  
  76.                 if (row[key] === "YES") {
  77.                     if (language.indexOf(",") > -1) {
  78.                         var langs = language.split(",");
  79.  
  80.                         for (var indice = 0; indice < langs.length; indice++) {
  81.                             spas[key].markets.push({
  82.                                 "language": langs[indice].trim(),
  83.                                 "country": country,
  84.                                 "market": "DACH",
  85.                                 "region": region
  86.                             });
  87.                         }
  88.                     } else {
  89.                         spas[key].markets.push({
  90.                             "language": language,
  91.                             "country": country,
  92.                             "market": "DACH",
  93.                             "region": region
  94.                         });
  95.                     }
  96.                 }
  97.             }
  98.         }
  99.     });
  100.  
  101.     var envs = {};
  102.     for (var spa in spas) {
  103.         var current = spas[spa];
  104.         envs[spa] = {
  105.             "ECE": [],
  106.             "AMAP": [],
  107.             "CN": []
  108.         };
  109.  
  110.         for (var i = 0; i < current.markets.length; i++) {
  111.             if (!envs[spa][current.markets[i].region].includes(current.markets[i].country)) {
  112.                 envs[spa][current.markets[i].region].push(current.markets[i].country);
  113.                 envs[spa][current.markets[i].region].sort();
  114.             }
  115.         }
  116.     }
  117.  
  118.     var file = "";
  119.     for (var spa in envs) {
  120.         var current = envs[spa];        
  121.         file += spa + "\n";
  122.         file += "AMAP:\n\t" + current["AMAP"].join(", ");  
  123.         file += "\nCN:\n\t" + current["CN"].join(", ");  
  124.         file += "\nECE:\n\t" + current["ECE"].join(", ");
  125.         file += "\n\n";
  126.     }
  127.  
  128.     download(file, "backend_envs.txt", "text/plain");
  129. });
Advertisement
Add Comment
Please, Sign In to add comment