summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornea <romangraef@gmail.com>2022-11-27 19:44:37 +0100
committernea <romangraef@gmail.com>2022-11-27 19:44:37 +0100
commit904d5234a47c14ff14fd5ef2763261c8f6eedd95 (patch)
tree5bd6a6b5d98c1c50cfbd8f296639c3f2171d67aa
parentced516b4a197c5f320431988d16d01d97d2cca32 (diff)
downloadchess-904d5234a47c14ff14fd5ef2763261c8f6eedd95.tar.gz
chess-904d5234a47c14ff14fd5ef2763261c8f6eedd95.tar.bz2
chess-904d5234a47c14ff14fd5ef2763261c8f6eedd95.zip
make hostable
-rw-r--r--Pipfile1
-rw-r--r--Pipfile.lock64
-rw-r--r--index.html3
-rw-r--r--server.py15
4 files changed, 78 insertions, 5 deletions
diff --git a/Pipfile b/Pipfile
index ec3400e..addfff7 100644
--- a/Pipfile
+++ b/Pipfile
@@ -6,6 +6,7 @@ name = "pypi"
[packages]
aiohttp = "*"
chess = "*"
+aiohttp-jinja2 = "*"
[dev-packages]
aiohttp-devtools = "*"
diff --git a/Pipfile.lock b/Pipfile.lock
index a4dbf52..84b3409 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "0473d3cc8f80676ca39768fc9a405297eed99bde7ca549bda519a99fa632fa41"
+ "sha256": "ff2d61f8b2951015441a477be216489c168a4cdd7e1ab02f95591c1a2a07eac9"
},
"pipfile-spec": 6,
"requires": {
@@ -109,6 +109,14 @@
"index": "pypi",
"version": "==3.8.3"
},
+ "aiohttp-jinja2": {
+ "hashes": [
+ "sha256:7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b",
+ "sha256:b55c0ed167b0cc4b6d6a50fb2299a44beb5dc4aec9df21305b91a5484694cf74"
+ ],
+ "index": "pypi",
+ "version": "==1.5"
+ },
"aiosignal": {
"hashes": [
"sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc",
@@ -237,6 +245,60 @@
"markers": "python_version >= '3.5'",
"version": "==3.4"
},
+ "jinja2": {
+ "hashes": [
+ "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852",
+ "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"
+ ],
+ "markers": "python_version >= '3.7'",
+ "version": "==3.1.2"
+ },
+ "markupsafe": {
+ "hashes": [
+ "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003",
+ "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88",
+ "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5",
+ "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7",
+ "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a",
+ "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603",
+ "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1",
+ "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135",
+ "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247",
+ "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6",
+ "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601",
+ "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77",
+ "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02",
+ "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e",
+ "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63",
+ "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f",
+ "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980",
+ "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b",
+ "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812",
+ "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff",
+ "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96",
+ "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1",
+ "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925",
+ "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a",
+ "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6",
+ "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e",
+ "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f",
+ "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4",
+ "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f",
+ "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3",
+ "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c",
+ "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a",
+ "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417",
+ "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a",
+ "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a",
+ "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37",
+ "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452",
+ "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933",
+ "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a",
+ "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"
+ ],
+ "markers": "python_version >= '3.7'",
+ "version": "==2.1.1"
+ },
"multidict": {
"hashes": [
"sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60",
diff --git a/index.html b/index.html
index bb43cc5..cf54958 100644
--- a/index.html
+++ b/index.html
@@ -58,7 +58,8 @@
<script>
class Board {
constructor(elem) {
- this.socket = new WebSocket('ws://localhost:8000/socket')
+
+ this.socket = new WebSocket(`ws://${window.location.host}/socket`)
this.exiting = false
this.boardState = {}
window.addEventListener('beforeunload', () => {
diff --git a/server.py b/server.py
index f2bdf15..aa33d87 100644
--- a/server.py
+++ b/server.py
@@ -1,21 +1,30 @@
import asyncio
import json
+import os
+import pathlib
import random
import typing
import weakref
import aiohttp
+import aiohttp_jinja2
import chess
import chess.engine
+import jinja2
from aiohttp import web
app = web.Application()
app['websockets'] = weakref.WeakSet()
app['chessgames'] = weakref.WeakSet()
+basepath = pathlib.Path(__file__).parent.absolute()
+print(f"Loading templates from {basepath}")
+aiohttp_jinja2.setup(app, loader=jinja2.FileSystemLoader(basepath))
-async def index(request: web.Request) -> web.Response:
- return web.Response(text="Welcome to the chess hell backend!")
+
+@aiohttp_jinja2.template('index.html')
+async def index(request: web.Request):
+ return {}
async def handle_socket(request: web.Request):
@@ -91,4 +100,4 @@ app.add_routes([
app.on_shutdown.append(on_shutdown)
if __name__ == '__main__':
- web.run_app(app, )
+ web.run_app(app, port=int(os.environ.get('PORT', '3000')))