diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2016-02-02 04:19:50 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2016-02-02 04:44:07 +0100 |
commit | 2f06faee7523df0f17ccfc4d3c568295734336c2 (patch) | |
tree | 2bf4ec703e494490600fb7ca19bcde3bf8624deb /contrib/create_account.py | |
parent | 7e678c9d85b84ac7e903a4bdc1d08890fa5f1d18 (diff) | |
download | web-2f06faee7523df0f17ccfc4d3c568295734336c2.tar.gz web-2f06faee7523df0f17ccfc4d3c568295734336c2.tar.bz2 web-2f06faee7523df0f17ccfc4d3c568295734336c2.zip |
manage.py: Replace contrib/create_accounts.py
Replace the contrib script with a command in the manage.py.
Diffstat (limited to 'contrib/create_account.py')
-rwxr-xr-x | contrib/create_account.py | 81 |
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] |