{"componentChunkName":"component---src-templates-post-tsx","path":"/posts/2018/02/python-web-desktop/","result":{"data":{"markdownRemark":{"fields":{"slug":"/2018/02/python-web-desktop/"},"frontmatter":{"title":"[Python-web.py] Turning website into a desktop app","tag":["python","desktop","web.py","PyQt5"],"image":"https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTHKVrds2fU5fqVnsmUwdOgNyOUIssq0aXpgit1vx8L6dK3B2_j"},"correctedDateEpoch":1518541200000,"html":"<p>This is what I have got:</p>\n<pre><code class=\"language-python\">from ui.mainWindow import MainWindow\nfrom webview.controller import initServer\n\nfrom PyQt5.QtWidgets import *\nimport sys\nimport httplib2\nfrom time import sleep\n\nif __name__ == '__main__':\n    initServer().start()\n\n    h = httplib2.Http()\n    while True:\n        try:\n            resp = h.request(\"http://0.0.0.0:8080/\", 'HEAD')\n            break\n        except ConnectionRefusedError:\n            sleep(1)\n            continue\n\n    app = QApplication(sys.argv)\n    window = MainWindow()\n    window.showUI()\n    window.setBaseSize(1000, 600)\n    window.move(QDesktopWidget().rect().center().x()-window.rect().center().x(), window.rect().y())\n    sys.exit(app.exec_())\n</code></pre>\n<!-- excerpt_separator -->\n<pre><code class=\"language-python\"># webview/controller.py\n\nimport web\nfrom threading import Thread\nimport sys\n\nimport r\n\nurls = (\n    '/', 'index'\n)\nrender = web.template.render('webview/templates/', base='index',\nglobals={'level_labels': r.Level().level_labels})\n\nclass index:\n    def GET(self):\n        return render.mainPage()\n\nclass initServer(Thread):\n    def __init__(self):\n        super().__init__()\n        self.daemon = True\n\n    def run(self):\n        app = web.application(urls, globals())\n        app.run()\n\n    def close(self):\n        sys.exit()\n</code></pre>\n<pre><code class=\"language-python\"># ui/mainWindow.py\n\nimport web\nfrom threading import Thread\nimport sys\n\nimport r\n\nurls = (\n    '/', 'index'\n)\nrender = web.template.render('webview/templates/', base='index',\nglobals={'level_labels': r.Level().level_labels})\n\nclass index:\n    def GET(self):\n        return render.mainPage()\n\nclass initServer(Thread):\n    def __init__(self):\n        super().__init__()\n        self.daemon = True\n\n    def run(self):\n        app = web.application(urls, globals())\n        app.run()\n\n    def close(self):\n        sys.exit()\n</code></pre>"}},"pageContext":{"slug":"/2018/02/python-web-desktop/"}}}