summaryrefslogtreecommitdiffstats
path: root/contrib/create_account.py
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/create_account.py')
-rwxr-xr-xcontrib/create_account.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/contrib/create_account.py b/contrib/create_account.py
deleted file mode 100755
index 17e4646..0000000
--- a/contrib/create_account.py
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-import sys
-from os.path import dirname, abspath
-sys.path.append(dirname(dirname(abspath(__file__))))
-
-from account import AccountService, NoSuchUserError
-from app import app
-from flask import g, render_template, url_for
-from utils import make_confirmation, send_mail
-
-"""
-Create an account.
-
-The default operation is to send an activation mail to the given address. So
-the only difference to the register form on the website is that the username
-blacklist is not checked.
-The user can click the link and enter a password to finish account creation.
-
-Usage:
- $0 username mail Send an activation mail.
- $0 -p username mail Only print the link.
-"""
-
-def main(username, mail, print_only=False):
- service = AccountService(app.config['LDAP_HOST'], app.config['LDAP_BASE_DN'],
- app.config['LDAP_ADMIN_USER'], app.config['LDAP_ADMIN_PASS'],
- app.all_services)
-
- try:
- service.get_by_uid(username)
- except NoSuchUserError:
- pass
- else:
- raise CreationError(u'There is already a user named %s' % username)
-
- try:
- u = service.get_by_mail(mail)
- except NoSuchUserError:
- pass
- else:
- raise CreationError(u'There is already a user with email %s (uid: %s)' % (mail, u.uid))
-
- confirm_token = make_confirmation('register', (username, mail))
- confirm_link = url_for('register_complete', token=confirm_token, _external=True)
-
- if print_only:
- print confirm_link
- return
-
- body = render_template('mail/register.txt', username=username,
- mail=mail, link=confirm_link)
-
- send_mail(mail, u'E-Mail-Adresse bestätigen', body,
- sender=app.config.get('MAIL_CONFIRM_SENDER'))
-
- print 'Mail versandt.'
-
-
-
-class CreationError(ValueError):
- pass
-
-
-if __name__ == '__main__':
- try:
- sys.argv.remove('-p')
- except ValueError:
- print_only = False
- else:
- print_only = True
-
- if len(sys.argv) == 3:
- #XXX: I have the strong feeling that could be done better
- try:
- with app.test_request_context(base_url='http://%s/' % (app.config['SERVER_NAME'] or 'localhost')):
- main(sys.argv[1], sys.argv[2], print_only=print_only)
- except CreationError, e:
- print 'Error:', e
- else:
- print "Usage: %s username email" % sys.argv[0]