Mohammedallyl commited on
Commit
9d308fc
·
verified ·
1 Parent(s): bf7beeb

Update Logic/FUsers/AddUser.py

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