import uuid from pprint import pprint from cloudmesh.config.cm_config import get_mongo_db, DBConnFactory # This is not encourged, as importing this file will try to establish a connection get_mongo_db("manage", DBConnFactory.TYPE_MONGOENGINE) # However this file was developed as an executable test/entrance so we leave it like this # alternatively, change this to more Object Oriented way so the connection is # only established when the object is instantiated. # ---------------------------------------------------------- # The generate class generates 10 random users # ---------------------------------------------------------- users = Users() projects = Projects() # http://www.joke2k.net/faker/ fake = Factory.create() def random_user(): ''' returns a random user in a dict :rtype: dict ''' firstname = fake.first_name() data = User(
def management_command(args): """cm-management - Command line option to manage users and projects Usage: cm-management user generate [--count=N] cm-management user list [USERNAME] [--format=FORMAT] cm-management user clear cm-management user add [YAMLFILE] cm-management user delete [USERNAME] cm-management user activate [USERNAME] cm-management user deactivate [USERNAME] cm-management user approve [USERNAME] cm-management user deny [USERNAME] cm-management project generate cm-management version Options: -h --help Show this screen --version Show version --format=FORMAT Output format: table, json --all Displays all users """ arguments = docopt(management_command.__doc__, args[1:]) try: if arguments['version']: print cloudmesh.__version__ elif arguments['user'] and arguments['list']: user = Users() disp_fmt = None user_name = None if arguments['--format']: disp_fmt = arguments['--format'] if arguments['USERNAME']: user_name = arguments['USERNAME'] user.list_users(disp_fmt, user_name) elif arguments['user'] and arguments['generate']: if arguments['--count']: count = int(arguments['--count']) generate_users(count) else: generate_users(10) elif arguments['user'] and arguments['clear']: user = Users() user.clear() elif arguments['user'] and arguments['delete']: if arguments['USERNAME']: user = Users() user.delete_user(arguments['USERNAME']) else: print "Error: Please specify a user to be removed." elif arguments['user'] and arguments['approve']: if arguments['USERNAME']: user = Users() user.amend_user_status(arguments['USERNAME'], status='approved') elif arguments['user'] and arguments['deny']: if arguments['USERNAME']: user = Users() user.amend_user_status(arguments['USERNAME'], status='denied') elif arguments['project']: print "Dummy Projects" project_fields() elif arguments['list']: print "Listing Users" except: print "Invalid arguments Exception", sys.exc_info()[0] raise