def do_generate_users(self, request): '''Automatically generates users''' try: name = request.getvalue('name', '') assert name != '' start = int(request.getvalue('start', 'error')) end = int(request.getvalue('end', 'error')) passlen = int(request.getvalue('passlength', 'error')) except: request.writeln('<p align="center"><font color="red">Error: Some fields were not entered correctly or were blank; autogeneration cancelled.</font></p>') return rand = random.Random() index_len = len(str(end)) for i in range(start, end + 1): user = Directory.create_user(request.session.user.id) newname = name for j in range(len(str(i)), index_len): # pad lower numbers with zeros newname += '0' newname += str(i) user.name = newname user.email = '' user.username = newname user.password = '' if passlen > 0: for i in range(passlen - 1): # all letters except last char is a number user.password += rand.choice(ASCII_CHARS) user.password += rand.choice(DIGIT_CHARS) user.save()
def save_user(self, request): '''Saves (or creates) a user''' userid = request.getvalue('userid', 'New') if (userid == 'New'): user = Directory.create_user(request.session.user.id) else: user = Directory.get_user(userid) for key in Directory.USER_FIELDS: setattr(user, key, request.getvalue(key, '')) user.save()