tele5 mediathek view

makes the page usable again

目前为 2022-03-28 提交的版本。查看 最新版本

// ==UserScript==
// @name tele5 mediathek view
// @namespace Violentmonkey Scripts
// @match https://tele5.de/mediathek/
// @grant none
// @version 0.0.1.20220328181036
// @description makes the page usable again
// ==/UserScript==
//

//         let pages = [
//                 {
//                     title:"2021 War of the Worlds: Invasion from Mars",
//                     subtitle:"Science-Fiction-Endzeit-Thriller mit jeder Menge CGI. Online 20.12. - 18.2.2022",
//                     image:"https://d2v9mhsiek5lbq.cloudfront.net/etc",
//                     url:"/mediathek/2021-war-of-the-worlds-invasion-from-mars/"
//                 }
//         ]

if (pages) (function() {
  
var bs = document.getElementsByTagName("body")[0].style.visibility;
bs = "hidden";

Date.prototype.addDays = function(days) {
    var date = new Date(this.valueOf());
    date.setDate(date.getDate() + days);
    return date;
}

function unique(a) {
    var r = new Array();
    o: for (var i = 0, n = a.length; i < n; i++) {
        for (var x = i + 1; x < n; x++) {
            if (a[x] == a[i]) continue o;
        }
        r[r.length] = a[i];
    }
    return r;
}

function formatdate(datestring) {
    var mydate = datestring.replace(" ", "").split(".");
    var myday = mydate[0];
    var mymonth = mydate[1];
    var myyear = d.getFullYear();
  
    if (myday < 10) {
        myday = "0" + myday
    }
    if (mymonth < 10) {
        mymonth = "0" + mymonth
    }
    // december fix
    if (mymonth >= 11) {
        myyear = myyear - 1
    }
    return myyear + "-" + mymonth + "-" + myday;
}

function writetable(which, how) {
  var allrows = "";
    for (var i = 0, l = which.length - 1; i < l; ++i) {
        if ((which[i] != undefined) && (which[i] != "undefined"))
        var filmset = which[i].split("|");
        if (how == 0) {
            var ab = filmset[1];
            var wann = filmset[0];
        } else {
            var ab = filmset[0];
            var wann = filmset[1];
        }
        var was = filmset[2];
        var wo = filmset[3];
        var wie = filmset[4];
        var regexpd = new RegExp(" - .*", "gi");
        was = was.replace(regexpd, "");
        var regexpe = new RegExp(": .*", "gi");
        was = was.replace(regexpe, "");
        var link = '<a href="' + wo + '">';
        var tablerow = '<div class="box">' + link + '<img src="' + wie + '" /></a><br />' + link + was + '</a><br />' + ab + ' - <br />' + wann + '</div>' + "\n";
        if (how == 0) {
            if (! (new Date(wann) - d <= 0)) {
            allrows += tablerow;
            }
        } else {
            allrows += tablerow;
        }
    }
  return allrows;
}

var d = new Date();
  
var filmsa = new Array();
var filmsb = new Array();
    for (var i = 0, l = pages.length; i < l; ++i) {
        var filmtitle = pages[i].title;
        var onlinetil = pages[i].subtitle;
        if ((filmtitle != undefined) && (filmtitle != "undefined") && (filmtitle != "") && (onlinetil.indexOf(" Online") != -1)) {
         // fixing possibly malformed Online xx.xx. - xx.xx.xxxx line
            onlinetil = onlinetil.replace(/\.-/g, ". -");
            onlinetil = onlinetil.replace(/ Online: /g, " Online ");
            var regexpa = new RegExp(".* Online ", "gi");
            onlinetil = onlinetil.replace(regexpa, "");
            var regexpf = new RegExp(" -.*", "gi");
            onlinefro = onlinetil.replace(regexpf, "");
            var regexpg = new RegExp(".* ", "gi");
            onlinefro = onlinefro.replace(regexpg, "");
            var regexpb = new RegExp(".* - ", "gi");
            onlinetil = onlinetil.replace(regexpb, "");
            var regexpc = new RegExp(" -.*", "gi");
            var onlinefrof = "";
            var onlinetilf = "";
            onlinefrof = formatdate(onlinefro);
            onlinetilf = formatdate(onlinetil);
            var linesuf = "|" + filmtitle + "|" + pages[i].url + "|" + pages[i].image;
            if (! (new Date(onlinefrof) - d >= 0)) {
              // jetzt
                filmsa[i] = onlinetilf + "|" + onlinefrof + linesuf;
            } else if (new Date(onlinefrof) - d >= 0) {
              // bald
              // fix for day +1
              var date = new Date(onlinefrof);
              onlinefrof = date.addDays(1).toISOString().split('T')[0];
                filmsb[i] = onlinefrof + "|" + onlinetilf + linesuf;
            }
        }
}

filmsa = unique(filmsa);
filmsa = filmsa.sort();
filmsb = unique(filmsb);
filmsb = filmsb.sort();
  
var mediathek = "";
var dvdr = '<div class="box"></div>\n';

mediathek += '<html><head><title>tele5 mediathek view</title><base href="https://tele5.de/mediathek/"><meta charset="utf-8">\n';
mediathek += '<style>body { margin: 40px; font-family: Arial; overflow-x: hidden; } img {width: 300px; text-decoration:none;border:none;}\n';
mediathek += '.wrapper { display: grid; grid-gap: 15px; grid-template-columns: 25% 25% 25% 25%; background-color: #fff; color: #444; }\n';
mediathek += '.box { background-color: #444; color: #fff; border-radius: 5px; padding: 20px; font-size: 100%; }\n';
mediathek += '.bottom {margin-top: 373px;margin-bottom: 93px;}  .top {margin-top: 93px;}</style>\n';
mediathek += '</head><body>\n';
mediathek += '<div class="wrapper top">';
mediathek += '<div class="box"><a name="jetzt"></a></div>'+dvdr+dvdr+dvdr;
mediathek += '<div class="box">jetzt:</div><div class="box"><a href="#bald">bald</a></div>'+dvdr+dvdr+'\n';
mediathek += writetable(filmsa, 0);
mediathek += '</div>';
mediathek += '<div class="wrapper bottom">';
mediathek += '<div class="box"><a name="bald"></a></div>'+dvdr+dvdr+dvdr;
mediathek += '<div class="box"><a href="#jetzt">jetzt</a></div><div class="box">bald:</div>'+dvdr+dvdr+'\n';
mediathek += writetable(filmsb, 1);
mediathek += '</div>';

document.write(mediathek);
window.location.hash = "#jetzt";
bs = "";
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址