Clean up register script and import adduser module
This commit is contained in:
parent
b8cf7b4ae7
commit
46002ce239
20
register
20
register
|
@ -4,13 +4,16 @@ from subprocess import run, check_output
|
|||
from json import loads
|
||||
from http.server import BaseHTTPRequestHandler, HTTPServer
|
||||
|
||||
from adduser import adduser
|
||||
|
||||
|
||||
# Registration HTTP server
|
||||
class Server(BaseHTTPRequestHandler):
|
||||
def do_POST(self):
|
||||
content_length = int(self.headers['Content-Length'])
|
||||
data = loads(self.rfile.read(content_length).decode('utf-8'))
|
||||
data['password'] = checkout_output(['slappasswd', '-s', data['password']])
|
||||
print(data)
|
||||
# Print data
|
||||
print([data[key] for key in keys(data) if key != 'password'])
|
||||
|
||||
if data['code'] != code:
|
||||
print('Incorrect code')
|
||||
|
@ -18,12 +21,10 @@ class Server(BaseHTTPRequestHandler):
|
|||
if not all(c.isdigit() or c.islower() for c in data['username']) or data['username'][0].isdigit():
|
||||
print('Bad username')
|
||||
return
|
||||
if '"' in data['firstname'] or '"' in data['lastname'] or '"' in data['email']:
|
||||
print('Cannot contain double quotes')
|
||||
return
|
||||
|
||||
run(['/home/ta180m/git/scripts/adduser', data['username'], data['firstname'].capitalize(),
|
||||
data['lastname'].capitalize(), data['email'], data['password'], ldap_pass])
|
||||
|
||||
# Add the user
|
||||
adduser(data['username'], data['firstname'].capitalize(), data['lastname'].capitalize(),
|
||||
data['email'], data['password'], ldap_pass)
|
||||
|
||||
self.send_response(200)
|
||||
self.send_header('Content-type', 'text/html')
|
||||
|
@ -33,6 +34,5 @@ class Server(BaseHTTPRequestHandler):
|
|||
ldap_pass = input('LDAP password: ')
|
||||
code = input('Registration code: ')
|
||||
|
||||
server_address = ('localhost', 6789)
|
||||
httpd = HTTPServer(server_address, Server)
|
||||
httpd = HTTPServer(('localhost', 6789), Server)
|
||||
httpd.serve_forever()
|
||||
|
|
Loading…
Reference in a new issue