Spaces:
Sleeping
Sleeping
from fastapi import APIRouter,File,Form,UploadFile | |
import sqlite3 | |
from os.path import exists | |
from os import makedirs,chmod | |
from PIL import Image | |
from io import BytesIO | |
UserItemAddRouter=APIRouter(prefix="/Users") | |
def adduser(Email:str=Form(...),Name:str=Form(...),Password:str=Form(...),Images:UploadFile=File(...)): | |
try: | |
State=False | |
connect=sqlite3.connect("DataBase/DataBase.bd") | |
cursor=connect.execute(f''' | |
SELECT UserId,Password FROM Users where Email='{ Email}' | |
''') | |
FData=cursor.fetchall() | |
if len(FData) !=0 : | |
if FData[0][0]==None: | |
return {"Status":False,"Message":"Email or Password Is Incorrect "} | |
HasedPassword=FData[0][1] | |
UserId=FData[0][0] | |
State= Password==HasedPassword | |
Name= Name | |
if not State: | |
return {"Status":False,"Message":"Email or Password is not correct"} | |
if not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/{Name}"): | |
connect.execute(f''' | |
INSERT INTO UserItems (UserId ,UserItemName ) VALUES ({UserId},'{Name}') | |
''') | |
connect.commit() | |
if not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/{Name}"): | |
makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/{Name}") | |
chmod(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/{Name}",0o777) | |
if not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Test/{Name}"): | |
makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Test/{Name}") | |
chmod(f"./FaceRecognition/ExtactedFaces/{UserId}/Test/{Name}",0o777) | |
if not exists(f"./static/{UserId}/{Name}"): | |
makedirs(f"./static/{UserId}/{Name}") | |
chmod(f"./static/{UserId}/{Name}",0o777) | |
Image.open(BytesIO(Images.file.read())).save(f"./static/{UserId}/{Name}/user.png","PNG") | |
chmod(f"./static/{UserId}/{Name}/user.png",0o777) | |
return {"Status":True,"Message":"User Is Added Correctly"} | |
else: | |
return {"Status":False,"Message":"Name Is Already Exist"} | |
except Exception as e: | |
return {"Status":False,"Message":e} |