-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinitConfig.py
executable file
·58 lines (49 loc) · 1.93 KB
/
initConfig.py
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
52
53
54
55
56
57
58
from database import db_session
from models import User, Machine, Ownership
import json
import os
import argparse
parser = argparse.ArgumentParser(description='Script para añadir usuarios, máquinas o propiedades a wolwebapp.')
parser.add_argument('--machines')
parser.add_argument('--users')
parser.add_argument('--owners')
parser.add_argument('--usermail')
parser.add_argument('--userpass')
parser.add_argument('--admin', action='store_true')
args = parser.parse_args()
cli_args = vars(args)
print(cli_args)
if cli_args['machines']:
mach_path = cli_args['machines']
if os.path.isfile(mach_path):
with open(mach_path, 'r') as file:
machines = json.load(file)
for machine in machines:
new_machine = Machine(name=machine["name"], mac=machine["mac"], ip=machine["ip"], port=machine["port"])
db_session.add(new_machine)
db_session.commit()
if cli_args['users']:
user_path = cli_args['users']
if os.path.isfile(user_path):
with open(user_path, 'r') as file:
users = json.load(file)
for user in users:
new_user = User(email=user["email"], password=user["password"])
db_session.add(new_user)
db_session.commit()
if cli_args['owners']:
owns_path = cli_args['owners']
if os.path.isfile(owns_path):
with open(owns_path, 'r') as file:
ownerships = json.load(file)
for ownership in ownerships:
new_ownership = Ownership(machine_id = ownership["machine_id"], user_id = ownership["user_id"])
db_session.add(new_ownership)
db_session.commit()
if cli_args['usermail'] and cli_args['userpass']:
mach_path = cli_args['machines']
new_user = User(email=cli_args['usermail'], password=cli_args['userpass'])
if cli_args['admin']:
new_user.admin = True
db_session.add(new_user)
db_session.commit()