-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJDatabase.py
More file actions
84 lines (74 loc) · 2.42 KB
/
Copy pathJDatabase.py
File metadata and controls
84 lines (74 loc) · 2.42 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import os
import json
import time
import io
class JsonDatabase(object):
def __init__(self,path='newdb'):
self.path = f'{path}.jdb'
self.items = {}
def check_create(self):
exist = os.path.isfile(self.path)
if not exist:
db = open(str(self.path), 'w')
db.write('')
db.close()
def save(self):
dbfile = open(self.path, 'w')
i = 0
for user in self.items:
separator = ''
if i < len(self.items) - 1:
separator = '\n'
dbfile.write(user + '=' + str(self.items[user]) + separator)
i += 1
dbfile.close()
def create_user(self,name):
self.items[name] = {'dir': '',
'cloudtype': 'moodle',
'moodle_host': '---',
'moodle_repo_id': 4,
'moodle_user': '---',
'moodle_password': '---',
'isadmin': 0,
'zips': 100,
'uploadtype':'evidence',
'proxy':'',
'tokenize':0}
def create_admin(self,name):
self.items[name] = {'dir': '',
'cloudtype': 'moodle',
'moodle_host': '---',
'moodle_repo_id': 4,
'moodle_user': '---',
'moodle_password': '---',
'isadmin': 1,
'zips': 100,
'uploadtype':'evidence',
'proxy':'',
'tokenize':0}
def remove(self,name):
try:
del self.items[name]
except:pass
def get_user(self,name):
try:
return self.items[name]
except:
return None
def save_data_user(self,user, data):
self.items[user] = data
def is_admin(self,user):
User = self.get_user(user)
if User:
return User['isadmin'] == 1
return False
def load(self):
dbfile = open(self.path, 'r')
lines = dbfile.read().split('\n')
dbfile.close()
for lin in lines:
if lin == '': continue
tokens = lin.split('=')
user = tokens[0]
data = json.loads(str(tokens[1]).replace("'", '"'))
self.items[user] = data