forked from madeofpendletonwool/PinePods
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_user.py
More file actions
51 lines (38 loc) · 1.38 KB
/
create_user.py
File metadata and controls
51 lines (38 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import sys
import mysql.connector
import database_functions.functions
import Auth.Passfunctions
if __name__ == "__main__":
database_user = sys.argv[1]
database_pass = sys.argv[2]
database_host = sys.argv[3]
database_name = sys.argv[4]
database_port = sys.argv[5]
if len(sys.argv) > 6:
fullname = sys.argv[6]
else:
fullname = "Pinepods Admin"
if len(sys.argv) > 7:
username = sys.argv[7]
else:
username = "admin"
if len(sys.argv) > 8:
email = sys.argv[8]
else:
email = "admin@pinepods.online"
if len(sys.argv) > 9:
password = sys.argv[9]
else:
alphabet = string.ascii_letters + string.digits + string.punctuation
password = ''.join(secrets.choice(alphabet) for _ in range(15))
salt, hash_pw = Auth.Passfunctions.hash_password(password)
user_values = (fullname, username, email, hash_pw, salt)
cnx = mysql.connector.connect(user=database_user, password=database_pass, host=database_host, port=database_port, database=database_name)
if not database_functions.functions.user_exists(cnx, username):
salt, hash_pw = Auth.Passfunctions.hash_password(password)
user_values = (fullname, username, email, hash_pw, salt)
print(f'Created Admin User = fullname={fullname}, username={username}, email={email}, password={password}')
database_functions.functions.add_admin_user(cnx, user_values)
else:
print(f'Admin user "{username}" already exists.')
cnx.close()