From c83a5597fbd8193baf87c2b53269344ccebb15ab Mon Sep 17 00:00:00 2001 From: andis Date: Mon, 24 Aug 2020 17:57:00 +0000 Subject: [PATCH] documents_init --- fet2020/documents/__init__.py | 48 +++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/fet2020/documents/__init__.py b/fet2020/documents/__init__.py index ae69a266..ef8b363c 100644 --- a/fet2020/documents/__init__.py +++ b/fet2020/documents/__init__.py @@ -4,9 +4,53 @@ from datetime import datetime, timedelta t=datetime.now() + timedelta(days=1) -with open("/srv/andis_test/etherpad-lite/etherpad-lite/APIKEY.txt","r") as f: +SERVER_URL="http://etherpad2.2020.fet.at/etherpad/" + + +with open("/srv/andis_test/etherpad_test2/etherpad-lite/APIKEY.txt","r") as f: k=f.read() - epc=EtherpadLiteClient( base_params={'apikey':k,}, base_url="http://localhost:9001/api") + epc=EtherpadLiteClient( base_params={'apikey':k,}, base_url="http://localhost:9003/api") a=epc.createAuthorIfNotExistsFor(name="andis", authorMapper="andis") g=epc.createGroupIfNotExistsFor(groupMapper="fet") +def add_ep_to_response(request, response): + if request.user is None: + return response + padID=id + server = urlparse(SERVER_URL) + padLink = SERVER_URL + 'p/' + g["groupID"] + '$' + \ + padID + author = epc.createAuthorIfNotExistsFor(name=str(request.user), authorMapper=str(request.user))['authorID'] + expires = datetime.datetime.utcnow() + datetime.timedelta( + hours=3 + ) + try: + result = epclient.createSession( + groupID=str(group['groupID']), + authorID=str(author), + validUntil=str(int(expires.timestamp())) + ) + except Exception as e: + return response + + if ('padSessionID' in request.COOKIES): + epclient.deleteSession(request.COOKIES['sessionID']) + response.delete_cookie('sessionID', server.hostname) + response.delete_cookie('padSessionID') + + response.set_cookie( + 'sessionID', + value=result['sessionID'], + expires=expires, + domain=server.hostname, + httponly=False + ) + + response.set_cookie( + 'padSessionID', + value=result['sessionID'], + expires=expires, + httponly=False + ) + + return response \ No newline at end of file