-
Notifications
You must be signed in to change notification settings - Fork 1
/
manager.py
executable file
·133 lines (117 loc) · 3.55 KB
/
manager.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
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
from models import *
from getpass import *
from collections import OrderedDict
def userpass():
'''Please enter your new username and password below'''
print '=============================================='
try:
user_id = input('Enter the User id: ')
user = User.get(User.id==user_id)
except User.DoesNotExist:
print 'User does not exist in the database please create a new user'
except:
pass
print '===================================================='
username = raw_input('Username: ')
pass1 = getpass('Password: ')
if pass1 == '':
pass
pass2 = getpass('Comfirm Password: ')
opt = raw_input('Do you want to continue [y,n]: ').lower().strip()
if opt == 'y':
if pass1 == pass2 and username:
user.username=username
user.password=pass1
user.save()
print 'Data havw been saved'
else:
print 'Passwords do not march or username was blank'
else:
print 'Aborted'
print'====================================================='
def new():
'''Please enter your new details'''
print '===================================================='
username = raw_input('Username: ')
if User.select().where(User.username == username):
print 'Username already in use. please choose a different name.'
print '======================================================'
return
pass1 = getpass('Password: ')
if pass1 == '':
pass
pass2 = getpass('Confirm Password: ')
opt = raw_input('Do you want to continue [y,n]: ').lower().strip()
if opt == 'y':
if pass1 == pass2 and username:
User.create(username=username, password=pass1)
print 'New user have been created successfully.'
else:
print "Passowrds didn't match or username was blank"
else:
print 'Aborted'
print '====================================================='
def password():
'''Please enter your new password below'''
print '======================================================'
try:
user_id = input('Please Enter your user id: ')
user = User.get(User.id == user_id)
pass1 = getpass('Password: ')
if pass1 == '':
pass
pass2 = getpass('Confirm Password: ')
opt = raw_input('Do u want to continue [y,n]: ').lower().strip()
if opt == 'y':
if pass1 == pass2:
user.password=pass1
user.save()
print 'Passowrd changed'
else:
print 'Passwords do not match'
else:
print 'Aborted'
except User.DoesNotExist:
print 'User does not exist'
except:
pass
print '==================================================='
def deleteUser():
'''Delete an existing user by supplying his/her user id'''
print '===================================================='
try:
user_id = input('Please enter the user id: ')
user = User.get(User.id == user_id)
opt = raw_input('Do you want to contine [y,n]: ').lower().strip()
if opt == 'y':
user.delete_instance()
print 'User deleted'
else:
'Print Aborted'
except:
print 'User does not exist'
print '====================================================='
def getusers():
'Get all users with their ids'
print '====================================================='
for user in User.select():
print `user.id`, user.username
print '====================================================='
def main_loop():
choice = None
print 'Enter "quit" to exit'
while choice != 'quit':
for key, value in menu.items():
print ('%s) %s' % (key, value.__doc__))
choice = raw_input('Action: ').lower().strip()
if choice in menu:
menu[choice]()
menu = OrderedDict([
('n',new),
('u',userpass),
('p', password),
('g',getusers),
('d', deleteUser),
])
if __name__=='__main__':
main_loop()