#!/usr/bin/env python3 import crypt import click import redis import os redis_store = None default_redis_url = os.environ.get('REDIS_URL', 'redis://127.0.0.1:6379/0') @click.group() @click.option("--redisurl", "-u", help="Redis DB url", default=default_redis_url) def cli(redisurl): global redis_store redis_store = redis.from_url(redisurl) @cli.command() @click.argument("username") @click.option("--passwd", "-p", prompt="Password", help="Password", hide_input=True) def adduser(username, passwd): """Add UUS admin user""" cryptpwd = crypt.crypt(passwd) redis_store.set('usr.' + username, cryptpwd) @cli.command() @click.argument("username") @click.option("--passwd", "-p", prompt="Password", help="Password", hide_input=True) def passwd(username, passwd): """Change UUS admin user password""" adduser(username, passwd) @cli.command() @click.argument("username") def deluser(username): """Delete UUS admin user""" redis_store.delete('usr.' + username) if __name__ == '__main__': cli()