Mohammedallyl commited on
Commit
bf7beeb
·
verified ·
1 Parent(s): 7da99dd

Update Logic/FUsers/AddUser.py

Browse files
Files changed (1) hide show
  1. Logic/FUsers/AddUser.py +68 -68
Logic/FUsers/AddUser.py CHANGED
@@ -1,68 +1,68 @@
1
- from fastapi import APIRouter,File,Form,UploadFile
2
- import sqlite3
3
- from passlib.context import CryptContext
4
- from os import makedirs
5
- from os.path import exists
6
- from pydantic import BaseModel
7
- from PIL import Image
8
- from io import BytesIO
9
- UserAddRouter=APIRouter(prefix="/Users")
10
-
11
-
12
-
13
- @UserAddRouter.post("/AddUser")
14
- def adduser(AdminEmail:str=Form(...),AdminPassword:str =Form(...),Email:str=Form(...),Name:str=Form(...),Job:str=Form(...),Phonenumber:str=Form(...),Place:str=Form(...),BDay:str=Form(...),Password:str=Form(...),Images:UploadFile=File(...)):
15
- try:
16
- pwd_context=CryptContext(schemes=["bcrypt"],deprecated="auto")
17
- AdminPassword="$2b$12$33H14GFBvtomzLrEaM6Tqu7Jr621eHlXL9TVtdPU6YCljxc4eug2a"
18
- if AdminEmail !="[email protected]":
19
- if not pwd_context.verify( AdminPassword,AdminPassword):
20
- return {"Status":False,"Message":" Admin Email or Password is not correct "}
21
- pwd_context=CryptContext(schemes=["bcrypt"],deprecated="auto")
22
- UserId=0
23
- connect=sqlite3.connect("DataBase/DataBase.bd")
24
- cursor=connect.execute(f'''
25
- SELECT UserId FROM Users where Email='{ Email}'
26
- ''')
27
- Data=cursor.fetchall()
28
- if len(Data)==1:
29
- if (Data[0]!=None):
30
- return {"Status":False,"Message":"Email Is Alread Exists"}
31
- cursor=connect.execute('''
32
- SELECT MAX(UserId) FROM Users
33
- ''')
34
- Data=cursor.fetchall()
35
-
36
- if len(Data)!=0:
37
- if Data[0][0]==None:
38
- UserId=0
39
- else:
40
- UserId=Data[0][0]+1
41
-
42
- HashedPassword=pwd_context.hash( Password)
43
-
44
- connect.execute(f'''
45
- INSERT INTO Users (UserId ,Email ,UserName ,Job, Phonenumber ,Place,BDay ,Password ) VALUES ({UserId},'{ Email}','{ Name}','{ Job}', '{ Phonenumber}' ,'{ Place}','{ BDay}','{HashedPassword}')
46
- ''')
47
- connect.commit()
48
- connect.close()
49
- if (not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Train")):
50
- makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Train")
51
- if (not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/Negative")):
52
- makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/Negative")
53
- if (not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Test")):
54
- makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Test")
55
- if (not exists(f"./FaceRecognition/FaceModel/{UserId}")):
56
- makedirs(f"./FaceRecognition/FaceModel/{UserId}")
57
- if (not exists(f"./static/{UserId}")):
58
- makedirs(f"./static/{UserId}")
59
- Image.open(BytesIO(Images.file.read())).save(f"./static/{UserId}/user.png","PNG")
60
- if (not exists(f"./IndoorLocalization/Data/{UserId}")):
61
- makedirs(f"./IndoorLocalization/Data/{UserId}")
62
- if (not exists(f"./IndoorLocalization/IndoorModels/{UserId}")):
63
- makedirs(f"./IndoorLocalization/IndoorModels/{UserId}")
64
-
65
- return {"Status":True,"Message":"User Is Added Correctly"}
66
-
67
- except Exception as e :
68
- return {"Status":False,"Message":e}
 
1
+ from fastapi import APIRouter,File,Form,UploadFile
2
+ import sqlite3
3
+ from passlib.context import CryptContext
4
+ from os import makedirs
5
+ from os.path import exists
6
+ from pydantic import BaseModel
7
+ from PIL import Image
8
+ from io import BytesIO
9
+ UserAddRouter=APIRouter(prefix="/Users")
10
+
11
+
12
+
13
+ @UserAddRouter.post("/AddUser")
14
+ def adduser(AdminEmail:str=Form(...),AdminPassword:str =Form(...),Email:str=Form(...),Name:str=Form(...),Job:str=Form(...),Phonenumber:str=Form(...),Place:str=Form(...),BDay:str=Form(...),Password:str=Form(...),Images:UploadFile=File(...)):
15
+ # try:
16
+ pwd_context=CryptContext(schemes=["bcrypt"],deprecated="auto")
17
+ AdminPassword="$2b$12$33H14GFBvtomzLrEaM6Tqu7Jr621eHlXL9TVtdPU6YCljxc4eug2a"
18
+ if AdminEmail !="[email protected]":
19
+ if not pwd_context.verify( AdminPassword,AdminPassword):
20
+ return {"Status":False,"Message":" Admin Email or Password is not correct "}
21
+ pwd_context=CryptContext(schemes=["bcrypt"],deprecated="auto")
22
+ UserId=0
23
+ connect=sqlite3.connect("DataBase/DataBase.bd")
24
+ cursor=connect.execute(f'''
25
+ SELECT UserId FROM Users where Email='{ Email}'
26
+ ''')
27
+ Data=cursor.fetchall()
28
+ if len(Data)==1:
29
+ if (Data[0]!=None):
30
+ return {"Status":False,"Message":"Email Is Alread Exists"}
31
+ cursor=connect.execute('''
32
+ SELECT MAX(UserId) FROM Users
33
+ ''')
34
+ Data=cursor.fetchall()
35
+
36
+ if len(Data)!=0:
37
+ if Data[0][0]==None:
38
+ UserId=0
39
+ else:
40
+ UserId=Data[0][0]+1
41
+
42
+ HashedPassword=pwd_context.hash( Password)
43
+
44
+ connect.execute(f'''
45
+ INSERT INTO Users (UserId ,Email ,UserName ,Job, Phonenumber ,Place,BDay ,Password ) VALUES ({UserId},'{ Email}','{ Name}','{ Job}', '{ Phonenumber}' ,'{ Place}','{ BDay}','{HashedPassword}')
46
+ ''')
47
+ connect.commit()
48
+ connect.close()
49
+ if (not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Train")):
50
+ makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Train")
51
+ if (not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/Negative")):
52
+ makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Train/Negative")
53
+ if (not exists(f"./FaceRecognition/ExtactedFaces/{UserId}/Test")):
54
+ makedirs(f"./FaceRecognition/ExtactedFaces/{UserId}/Test")
55
+ if (not exists(f"./FaceRecognition/FaceModel/{UserId}")):
56
+ makedirs(f"./FaceRecognition/FaceModel/{UserId}")
57
+ if (not exists(f"./static/{UserId}")):
58
+ makedirs(f"./static/{UserId}")
59
+ Image.open(BytesIO(Images.file.read())).save(f"./static/{UserId}/user.png","PNG")
60
+ if (not exists(f"./IndoorLocalization/Data/{UserId}")):
61
+ makedirs(f"./IndoorLocalization/Data/{UserId}")
62
+ if (not exists(f"./IndoorLocalization/IndoorModels/{UserId}")):
63
+ makedirs(f"./IndoorLocalization/IndoorModels/{UserId}")
64
+
65
+ return {"Status":True,"Message":"User Is Added Correctly"}
66
+
67
+ # except Exception as e :
68
+ # return {"Status":False,"Message":e}