Spaces:
Runtime error
Runtime error
CaesarCloudSync
commited on
Commit
·
0a6d947
1
Parent(s):
58447b3
getrevisioncardws
Browse files- main.py +39 -6
- requirements.txt +1 -0
main.py
CHANGED
@@ -26,6 +26,7 @@ import stripe
|
|
26 |
import jwt
|
27 |
#import cv2
|
28 |
from fastapi.responses import StreamingResponse
|
|
|
29 |
import re
|
30 |
import jwt
|
31 |
from fastapi import FastAPI, Header
|
@@ -391,12 +392,6 @@ async def getrevisioncards(authorization: str = Header(None)):
|
|
391 |
#print(revisioncard)
|
392 |
revisioncard.update({"revisionscheduleinterval":revisioncard["revisionscheduleinterval"]})
|
393 |
yield json.dumps(revisioncard)
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
#
|
399 |
-
|
400 |
current_user = secure_decode(authorization.replace("Bearer ",""))["email"]
|
401 |
if current_user:
|
402 |
try:
|
@@ -410,6 +405,44 @@ async def getrevisioncards(authorization: str = Header(None)):
|
|
410 |
return {"message":"No revision cards"} # Send in shape of data
|
411 |
except Exception as ex:
|
412 |
return {f"error":f"{type(ex)},{str(ex)}"}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
@app.post('/uploadrevisioncardtxtfile') # POST # allow all origins all methods.
|
414 |
async def uploadrevisioncardtxtfile(data : JSONStructure = None, authorization: str = Header(None)):
|
415 |
try:
|
|
|
26 |
import jwt
|
27 |
#import cv2
|
28 |
from fastapi.responses import StreamingResponse
|
29 |
+
from fastapi import WebSocket,WebSocketDisconnect
|
30 |
import re
|
31 |
import jwt
|
32 |
from fastapi import FastAPI, Header
|
|
|
392 |
#print(revisioncard)
|
393 |
revisioncard.update({"revisionscheduleinterval":revisioncard["revisionscheduleinterval"]})
|
394 |
yield json.dumps(revisioncard)
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
current_user = secure_decode(authorization.replace("Bearer ",""))["email"]
|
396 |
if current_user:
|
397 |
try:
|
|
|
405 |
return {"message":"No revision cards"} # Send in shape of data
|
406 |
except Exception as ex:
|
407 |
return {f"error":f"{type(ex)},{str(ex)}"}
|
408 |
+
@app.websocket("/getrevisioncardsws")
|
409 |
+
async def getrevisioncardsws(websocket: WebSocket):
|
410 |
+
await websocket.accept()
|
411 |
+
|
412 |
+
try:
|
413 |
+
while True:
|
414 |
+
authinfo = await websocket.receive_json()
|
415 |
+
authorization = authinfo["headers"]["Authorization"]
|
416 |
+
current_user = secure_decode(authorization.replace("Bearer ",""))["email"]
|
417 |
+
if current_user:
|
418 |
+
try:
|
419 |
+
email_exists = importcsv.db.accountrevisioncards.find_one({"email":current_user})
|
420 |
+
if email_exists: # Checks if email exists
|
421 |
+
user_revision_cards = list(importcsv.db.accountrevisioncards.find({"email": current_user}))[0]
|
422 |
+
del user_revision_cards["_id"],user_revision_cards["email"]
|
423 |
+
#return StreamingResponse(iter_df(user_revision_cards), media_type="application/json")
|
424 |
+
#return user_revision_cards
|
425 |
+
for revisioncard in user_revision_cards["revisioncards"]:
|
426 |
+
revisioncard.update({"revisionscheduleinterval":user_revision_cards["revisionscheduleinterval"],"sendtoemail":user_revision_cards["sendtoemail"]})
|
427 |
+
await websocket.send_json(json.dumps(revisioncard)) # sends the buffer as bytes
|
428 |
+
elif not email_exists:
|
429 |
+
await websocket.send_json(json.dumps({"message":"No revision cards"}))
|
430 |
+
#return {"message":"No revision cards"} # Send in shape of data
|
431 |
+
except Exception as ex:
|
432 |
+
return {f"error":f"{type(ex)},{str(ex)}"}
|
433 |
+
elif not current_user:
|
434 |
+
await websocket.send_json(json.dumps({"message":"No user."}))
|
435 |
+
|
436 |
+
|
437 |
+
|
438 |
+
|
439 |
+
except WebSocketDisconnect:
|
440 |
+
print("Client disconnected")
|
441 |
+
|
442 |
+
|
443 |
+
|
444 |
+
|
445 |
+
|
446 |
@app.post('/uploadrevisioncardtxtfile') # POST # allow all origins all methods.
|
447 |
async def uploadrevisioncardtxtfile(data : JSONStructure = None, authorization: str = Header(None)):
|
448 |
try:
|
requirements.txt
CHANGED
@@ -69,6 +69,7 @@ thinc==8.0.13
|
|
69 |
tornado==6.1
|
70 |
tqdm==4.62.3
|
71 |
traitlets==5.1.1
|
|
|
72 |
typer==0.4.0
|
73 |
typing_extensions==4.0.1
|
74 |
urllib3==1.26.7
|
|
|
69 |
tornado==6.1
|
70 |
tqdm==4.62.3
|
71 |
traitlets==5.1.1
|
72 |
+
websockets
|
73 |
typer==0.4.0
|
74 |
typing_extensions==4.0.1
|
75 |
urllib3==1.26.7
|