From 1a244b52b961ee180f1d296f5f601c3f0469708a Mon Sep 17 00:00:00 2001 From: Vyacheslav Anzhiganov Date: Sat, 2 Apr 2016 02:57:52 +0300 Subject: [PATCH] update cli command --- cli-admin-add.py => swscloud-admin-add.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) rename cli-admin-add.py => swscloud-admin-add.py (57%) diff --git a/cli-admin-add.py b/swscloud-admin-add.py similarity index 57% rename from cli-admin-add.py rename to swscloud-admin-add.py index ad23e01..6f8a88f 100644 --- a/cli-admin-add.py +++ b/swscloud-admin-add.py @@ -1,11 +1,17 @@ +#!/usr/bin/env python +# coding: utf-8 + import argparse +import validators from hashlib import md5 from uuid import uuid4 - from SWSCloudCore import models -__author__ = 'vanzhiganov' - +""" +Утилита добавления администратора +Как использовать: + swscloud-admin-add.py --email admin@cloud.com --password qwerty +""" parser = argparse.ArgumentParser(description='') parser.add_argument('--email', dest="email") @@ -13,12 +19,19 @@ parser.add_argument('--password', dest="password") args = parser.parse_args() +# validate admin email +if not validators.email(args.email): + sys.exit('invalid email format') + admin_id = uuid4() -# todo: validate admin email admin_email = args.email admin_password = md5(args.password).hexdigest() +models.database.connect() + if models.Admins.select().where(models.Admins.email == args.email).count() == 0: models.Admins.create(id=admin_id, email=admin_email, password=admin_password, status=1) else: - print "Admin account with email '%s' already exists." % admin_email + print "already exists" + +models.database.close()