console/cloud-admin-add.py

38 lines
948 B
Python
Raw Permalink Normal View History

2016-04-02 02:57:52 +03:00
#!/usr/bin/env python
# coding: utf-8
2015-11-26 23:49:41 +03:00
import argparse
2016-04-02 02:57:52 +03:00
import validators
2015-11-26 23:49:41 +03:00
from hashlib import md5
2016-04-02 00:42:22 +03:00
from uuid import uuid4
from SWSCloudCore import models
2015-11-26 23:49:41 +03:00
2016-04-02 02:57:52 +03:00
"""
Утилита добавления администратора
Как использовать:
2016-05-10 02:42:07 +03:00
cloud-admin-add.py --email admin@cloud.com --password qwerty
2016-04-02 02:57:52 +03:00
"""
2015-11-26 23:49:41 +03:00
parser = argparse.ArgumentParser(description='')
parser.add_argument('--email', dest="email")
parser.add_argument('--password', dest="password")
args = parser.parse_args()
2016-04-02 02:57:52 +03:00
# validate admin email
if not validators.email(args.email):
sys.exit('invalid email format')
2015-11-26 23:49:41 +03:00
admin_id = uuid4()
admin_email = args.email
admin_password = md5(args.password).hexdigest()
2016-04-02 02:57:52 +03:00
models.database.connect()
2015-11-26 23:49:41 +03:00
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:
2016-04-02 02:57:52 +03:00
print "already exists"
models.database.close()