Python Paste


middleware


Attributes

a counter

count(0)

a TEMPLATE

'<html>\n <head>\n  <title>Please wait</title>\n  <script type="text/javascript">\n    waitforit_url = "{{waitforit_url}}";\n    poll_time = {{poll_time}};\n    function getXMLHttpRequest() {\n    var tryThese = [\n        function () { return new XMLHttpRequest(); },\n        function () { return new ActiveXObject(\'Msxml2.XMLHTTP\'); },\n        function () { return new ActiveXObject(\'Microsoft.XMLHTTP\'); },\n        function () { return new ActiveXObject(\'Msxml2.XMLHTTP.4.0\'); }\n        ];\n    for (var i = 0; i < tryThese.length; i++) {\n        var func = tryThese[i];\n        try {\n            return func();\n        } catch (e) {\n            // pass\n        }\n    }\n}\n\nfunction checkStatus() {\n    var xhr = getXMLHttpRequest();\n    xhr.onreadystatechange = function () {\n        if (xhr.readyState == 4) {\n            statusReceived(xhr);\n        }\n    };\n    if (waitforit_url.indexOf("?") != -1) {\n        var parts = waitforit_url.split("?");\n        var base = parts[0];\n        var qs = "?" + parts[1];\n    } else {\n        var base = waitforit_url;\n        var qs = \'\';\n    }\n    var status_url = base + "status.json" + qs;\n    xhr.open("GET", status_url);\n    xhr.send(null);\n}\n\nvar percent_inner = null;\n\nfunction statusReceived(req) {\n    if (req.status != 200) {\n        var el = document.getElementById("error-box");\n        el.innerHTML = req.responseText;\n        return;\n    }\n    var status = eval("dummy="+req.responseText);\n    if (typeof status.done == "undefined") {\n        // Something went wrong\n        var el = document.getElementById("error-box");\n        el.innerHTML = req.responseText;\n        return;\n    }\n    if (status.done) {\n        window.location.href = window.location.href + "&send";\n        return;\n    }\n    if (status.progress.message) {\n        var el = document.getElementById("progress-box");\n        el.innerHTML = status.progress.message;\n    }\n    if (status.progress.percent) {\n        if (! percent_inner) {\n            var outer = document.createElement("div");\n            outer.setAttribute("id", "percent-container");\n            percent_inner = document.createElement("div");\n            percent_inner.setAttribute("id", "percent-inner");\n            //percent_inner.innerHTML = "&nbsp;";\n            outer.appendChild(percent_inner);\n            var parent = document.getElementById("percent-box");\n            parent.appendChild(outer);\n        }\n        percent_inner.style.width = ""+Math.round(status.progress.percent) + "%";\n    }\n    setTimeout("checkStatus()", poll_time*1000);\n}\n\n  </script>\n  <style type="text/css">\n    body {\n  font-family: sans-serif;\n}\ndiv#percent-container {\n  border: 1px solid #000;\n  width: 100%;\n  height: 20px;\n}\ndiv#percent-inner {\n  background-color: #999;\n  height: 100%;\n}\n\n  </style>\n </head>\n <body onload="checkStatus()">\n\n <h1>Please wait...</h1>\n\n <p>\n   The page you have requested is taking a while to generate...\n </p>\n\n <p id="progress-box">\n </p>\n\n <p id="percent-box">\n\n <p id="error-box">\n </p>\n \n </body>\n</html>\n'

a JAVASCRIPT

'function getXMLHttpRequest() {\n    var tryThese = [\n        function () { return new XMLHttpRequest(); },\n        function () { return new ActiveXObject(\'Msxml2.XMLHTTP\'); },\n        function () { return new ActiveXObject(\'Microsoft.XMLHTTP\'); },\n        function () { return new ActiveXObject(\'Msxml2.XMLHTTP.4.0\'); }\n        ];\n    for (var i = 0; i < tryThese.length; i++) {\n        var func = tryThese[i];\n        try {\n            return func();\n        } catch (e) {\n            // pass\n        }\n    }\n}\n\nfunction checkStatus() {\n    var xhr = getXMLHttpRequest();\n    xhr.onreadystatechange = function () {\n        if (xhr.readyState == 4) {\n            statusReceived(xhr);\n        }\n    };\n    if (waitforit_url.indexOf("?") != -1) {\n        var parts = waitforit_url.split("?");\n        var base = parts[0];\n        var qs = "?" + parts[1];\n    } else {\n        var base = waitforit_url;\n        var qs = \'\';\n    }\n    var status_url = base + "status.json" + qs;\n    xhr.open("GET", status_url);\n    xhr.send(null);\n}\n\nvar percent_inner = null;\n\nfunction statusReceived(req) {\n    if (req.status != 200) {\n        var el = document.getElementById("error-box");\n        el.innerHTML = req.responseText;\n        return;\n    }\n    var status = eval("dummy="+req.responseText);\n    if (typeof status.done == "undefined") {\n        // Something went wrong\n        var el = document.getElementById("error-box");\n        el.innerHTML = req.responseText;\n        return;\n    }\n    if (status.done) {\n        window.location.href = window.location.href + "&send";\n        return;\n    }\n    if (status.progress.message) {\n        var el = document.getElementById("progress-box");\n        el.innerHTML = status.progress.message;\n    }\n    if (status.progress.percent) {\n        if (! percent_inner) {\n            var outer = document.createElement("div");\n            outer.setAttribute("id", "percent-container");\n            percent_inner = document.createElement("div");\n            percent_inner.setAttribute("id", "percent-inner");\n            //percent_inner.innerHTML = "&nbsp;";\n            outer.appendChild(percent_inner);\n            var parent = document.getElementById("percent-box");\n            parent.appendChild(outer);\n        }\n        percent_inner.style.width = ""+Math.round(status.progress.percent) + "%";\n    }\n    setTimeout("checkStatus()", poll_time*1000);\n}\n'

a CSS

'body {\n  font-family: sans-serif;\n}\ndiv#percent-container {\n  border: 1px solid #000;\n  width: 100%;\n  height: 20px;\n}\ndiv#percent-inner {\n  background-color: #999;\n  height: 100%;\n}\n'

Functions

f make_id() ...

Classes

C WaitForIt(...) ...

This class contains 10 members.

See the source for more information.