Example #1
0
def main():
    Usergrid.init(org_id="jwest1", app_id="sandbox")

    response = Usergrid.DELETE("pets", "max")

    if not response.ok:
        print "Failed to delete max: %s" % response
        exit()

    response = Usergrid.DELETE("owners", "jeff")

    if not response.ok:
        print "Failed to delete Jeff: %s" % response
        exit()

    response = Usergrid.POST("pets", {"name": "max"})

    if response.ok:
        pet = response.first()

        print pet

        response = Usergrid.POST("owners", {"name": "jeff"})

        if response.ok:
            owner = response.first()

            print owner

            response = pet.connect("ownedBy", owner)

            if response.ok:
                print "Connected!"

                response = pet.disconnect("ownedBy", owner)

                if response.ok:
                    print "all done!"
                else:
                    print response

            else:
                print "failed to connect: %s" % response

        else:
            print "Failed to create Jeff: %s" % response

    else:
        print response
Example #2
0
def main():
    Usergrid.init(org_id='jwest1',
                  app_id='sandbox')

    response = Usergrid.DELETE('pets', 'max')
    if not response.ok:
        print 'Failed to delete max: %s' % response
        exit()

    response = Usergrid.DELETE('owners', 'jeff')
    if not response.ok:
        print 'Failed to delete Jeff: %s' % response
        exit()

    response = Usergrid.POST('pets', {'name': 'max'})

    if response.ok:
        pet = response.first()
        print pet
        response = Usergrid.POST('owners', {'name': 'jeff'})

        if response.ok:
            owner = response.first()
            print owner
            response = pet.connect('ownedBy', owner)

            if response.ok:
                print 'Connected!'

                response = pet.disconnect('ownedBy', owner)

                if response.ok:
                    print 'all done!'
                else:
                    print response
            else:
                print 'failed to connect: %s' % response

        else:
            print 'Failed to create Jeff: %s' % response

    else:
        print response
Example #3
0
def main():
    global config
    config = parse_args()

    init_logging()

    Usergrid.init(org_id=config.get('org'),
                  app_id=config.get('app'),
                  base_url=config.get('url'),
                  client_id=config.get('client_id'),
                  client_secret=config.get('client_secret'))

    tmp_dir = config.get('tmp_dir')
    file_path = config.get('file')

    if not os.path.isfile(file_path):
        logger.critical('File path specified [%s] is not a file!' % file_path)
        logger.critical('Unable to continue')
        exit(1)

    if not os.path.isdir(tmp_dir):
        logger.critical(
            'Temp Directory path specified [%s] is not a directory!' % tmp_dir)
        logger.critical('Unable to continue')
        exit(1)

    file_name = os.path.basename(file_path).split('.')[0]
    working_directory = os.path.join(tmp_dir, file_name)

    try:
        with zipfile.ZipFile(file_path, 'r') as z:
            logger.warn('Extracting files to directory: %s' %
                        working_directory)
            z.extractall(working_directory)
            logger.warn('Extraction complete')

    except Exception, e:
        logger.critical(traceback.format_exc(e))
        logger.critical('Extraction failed')
        logger.critical('Unable to continue')
        exit(1)
def main():
    global config
    config = parse_args()

    init_logging()

    Usergrid.init(org_id=config.get('org'),
                  app_id=config.get('app'),
                  base_url=config.get('url'),
                  client_id=config.get('client_id'),
                  client_secret=config.get('client_secret'))

    tmp_dir = config.get('tmp_dir')
    file_path = config.get('file')

    if not os.path.isfile(file_path):
        logger.critical('File path specified [%s] is not a file!' % file_path)
        logger.critical('Unable to continue')
        exit(1)

    if not os.path.isdir(tmp_dir):
        logger.critical('Temp Directory path specified [%s] is not a directory!' % tmp_dir)
        logger.critical('Unable to continue')
        exit(1)

    file_name = os.path.basename(file_path).split('.')[0]
    working_directory = os.path.join(tmp_dir, file_name)

    try:
        with zipfile.ZipFile(file_path, 'r') as z:
            logger.warn('Extracting files to directory: %s' % working_directory)
            z.extractall(working_directory)
            logger.warn('Extraction complete')

    except Exception, e:
        logger.critical(traceback.format_exc(e))
        logger.critical('Extraction failed')
        logger.critical('Unable to continue')
        exit(1)
Example #5
0
def main():
    Usergrid.init(org_id='jwest1', app_id='sandbox')

    response = Usergrid.DELETE('pets', 'max')

    if not response.ok:
        print 'Failed to delete max: %s' % response
        exit()

    response = Usergrid.DELETE('owners', 'jeff')

    if not response.ok:
        print 'Failed to delete Jeff: %s' % response
        exit()

    response = Usergrid.POST('pets', {'name': 'max'})

    if response.ok:
        pet = response.first()

        print pet

        response = Usergrid.POST('owners', {'name': 'jeff'})

        if response.ok:
            owner = response.first()

            print owner

            response = pet.connect('ownedBy', owner)

            if response.ok:
                print 'Connected!'

                response = pet.disconnect('ownedBy', owner)

                if response.ok:
                    print 'all done!'
                else:
                    print response

            else:
                print 'failed to connect: %s' % response

        else:
            print 'Failed to create Jeff: %s' % response

    else:
        print response
Example #6
0
def load_users_and_roles(working_directory):
    with open(os.path.join(working_directory, '_User.json'), 'r') as f:
        users = json.load(f).get('results', [])
        logger.info('Loaded [%s] Users' % len(users))

    for i, parse_user in enumerate(users):
        logger.info('Loading user [%s]: [%s / %s]' %
                    (i, parse_user['username'], parse_user['objectId']))
        usergrid_user, connections = convert_parse_entity('users', parse_user)
        res = usergrid_user.save()

        if res.ok:
            logger.info('Saved user [%s]: [%s / %s]' %
                        (i, parse_user['username'], parse_user['objectId']))

            if 'uuid' in usergrid_user.entity_data:
                parse_id_to_uuid_map[
                    parse_user['objectId']] = usergrid_user.get('uuid')
        else:
            logger.error(
                'Error saving user [%s]: [%s / %s] - %s' %
                (i, parse_user['username'], parse_user['objectId'], res))

    with open(os.path.join(working_directory, '_Role.json'), 'r') as f:
        roles = json.load(f).get('results', [])
        logger.info('Loaded [%s] Roles' % len(roles))

    for i, parse_role in enumerate(roles):
        logger.info('Loading role [%s]: [%s / %s]' %
                    (i, parse_role['name'], parse_role['objectId']))
        usergrid_role, connections = convert_parse_entity('roles', parse_role)
        res = usergrid_role.save()

        if res.ok:
            logger.info('Saved role [%s]: [%s / %s]' %
                        (i, parse_role['name'], parse_role['objectId']))

            if 'uuid' in usergrid_role.entity_data:
                parse_id_to_uuid_map[
                    parse_role['objectId']] = usergrid_role.get('uuid')

        else:
            logger.error('Error saving role [%s]: [%s / %s] - %s' %
                         (i, parse_role['name'], parse_role['objectId'], res))

    join_file = os.path.join(working_directory, '_Join:users:_Role.json')

    if os.path.isfile(join_file) and os.path.getsize(join_file) > 0:
        with open(join_file, 'r') as f:
            users_to_roles = json.load(f).get('results', [])
            logger.info('Loaded [%s] User->Roles' % len(users_to_roles))

            for user_to_role in users_to_roles:
                role_id = user_to_role['owningId']
                role_uuid = parse_id_to_uuid_map.get(role_id)

                target_role_id = user_to_role['relatedId']
                target_role_uuid = parse_id_to_uuid_map.get(target_role_id)

                if role_uuid is None or target_role_uuid is None:
                    logger.error('Failed on assigning role [%s] to user [%s]' %
                                 (role_uuid, target_role_uuid))
                    continue

                target_role_entity = build_usergrid_entity(
                    'user', target_role_uuid)

                res = Usergrid.assign_role(role_uuid, target_role_entity)

                if res.ok:
                    logger.info('Assigned role [%s] to user [%s]' %
                                (role_uuid, target_role_uuid))
                else:
                    logger.error('Failed on assigning role [%s] to user [%s]' %
                                 (role_uuid, target_role_uuid))

    else:
        logger.info('No Users -> Roles to load')

    join_file = os.path.join(working_directory, '_Join:roles:_Role.json')

    if os.path.isfile(join_file) and os.path.getsize(join_file) > 0:
        with open(join_file, 'r') as f:
            users_to_roles = json.load(f).get('results', [])
            logger.info('Loaded [%s] Roles->Roles' % len(users_to_roles))

            for user_to_role in users_to_roles:
                role_id = user_to_role['owningId']
                role_uuid = parse_id_to_uuid_map.get(role_id)

                target_role_id = user_to_role['relatedId']
                target_role_uuid = parse_id_to_uuid_map.get(target_role_id)

                if role_uuid is None or target_role_uuid is None:
                    logger.error('Failed on assigning role [%s] to role [%s]' %
                                 (role_uuid, target_role_uuid))
                    continue

                target_role_entity = build_usergrid_entity(
                    'role', target_role_uuid)

                res = Usergrid.assign_role(role_uuid, target_role_entity)

                if res.ok:
                    logger.info('Assigned role [%s] to role [%s]' %
                                (role_uuid, target_role_uuid))
                else:
                    logger.error('Failed on assigning role [%s] to role [%s]' %
                                 (role_uuid, target_role_uuid))

    else:
        logger.info('No Roles -> Roles to load')
def load_users_and_roles(working_directory):
    with open(os.path.join(working_directory, '_User.json'), 'r') as f:
        users = json.load(f).get('results', [])
        logger.info('Loaded [%s] Users' % len(users))

    for i, parse_user in enumerate(users):
        logger.info('Loading user [%s]: [%s / %s]' % (i, parse_user['username'], parse_user['objectId']))
        usergrid_user, connections = convert_parse_entity('users', parse_user)
        res = usergrid_user.save()

        if res.ok:
            logger.info('Saved user [%s]: [%s / %s]' % (i, parse_user['username'], parse_user['objectId']))

            if 'uuid' in usergrid_user.entity_data:
                parse_id_to_uuid_map[parse_user['objectId']] = usergrid_user.get('uuid')
        else:
            logger.error(
                    'Error saving user [%s]: [%s / %s] - %s' % (i, parse_user['username'], parse_user['objectId'], res))

    with open(os.path.join(working_directory, '_Role.json'), 'r') as f:
        roles = json.load(f).get('results', [])
        logger.info('Loaded [%s] Roles' % len(roles))

    for i, parse_role in enumerate(roles):
        logger.info('Loading role [%s]: [%s / %s]' % (i, parse_role['name'], parse_role['objectId']))
        usergrid_role, connections = convert_parse_entity('roles', parse_role)
        res = usergrid_role.save()

        if res.ok:
            logger.info('Saved role [%s]: [%s / %s]' % (i, parse_role['name'], parse_role['objectId']))

            if 'uuid' in usergrid_role.entity_data:
                parse_id_to_uuid_map[parse_role['objectId']] = usergrid_role.get('uuid')

        else:
            logger.error(
                    'Error saving role [%s]: [%s / %s] - %s' % (i, parse_role['name'], parse_role['objectId'], res))

    join_file = os.path.join(working_directory, '_Join:users:_Role.json')

    if os.path.isfile(join_file) and os.path.getsize(join_file) > 0:
        with open(join_file, 'r') as f:
            users_to_roles = json.load(f).get('results', [])
            logger.info('Loaded [%s] User->Roles' % len(users_to_roles))

            for user_to_role in users_to_roles:
                role_id = user_to_role['owningId']
                role_uuid = parse_id_to_uuid_map.get(role_id)

                target_role_id = user_to_role['relatedId']
                target_role_uuid = parse_id_to_uuid_map.get(target_role_id)

                if role_uuid is None or target_role_uuid is None:
                    logger.error('Failed on assigning role [%s] to user [%s]' % (role_uuid, target_role_uuid))
                    continue

                target_role_entity = build_usergrid_entity('user', target_role_uuid)

                res = Usergrid.assign_role(role_uuid, target_role_entity)

                if res.ok:
                    logger.info('Assigned role [%s] to user [%s]' % (role_uuid, target_role_uuid))
                else:
                    logger.error('Failed on assigning role [%s] to user [%s]' % (role_uuid, target_role_uuid))

    else:
        logger.info('No Users -> Roles to load')

    join_file = os.path.join(working_directory, '_Join:roles:_Role.json')

    if os.path.isfile(join_file) and os.path.getsize(join_file) > 0:
        with open(join_file, 'r') as f:
            users_to_roles = json.load(f).get('results', [])
            logger.info('Loaded [%s] Roles->Roles' % len(users_to_roles))

            for user_to_role in users_to_roles:
                role_id = user_to_role['owningId']
                role_uuid = parse_id_to_uuid_map.get(role_id)

                target_role_id = user_to_role['relatedId']
                target_role_uuid = parse_id_to_uuid_map.get(target_role_id)

                if role_uuid is None or target_role_uuid is None:
                    logger.error('Failed on assigning role [%s] to role [%s]' % (role_uuid, target_role_uuid))
                    continue

                target_role_entity = build_usergrid_entity('role', target_role_uuid)

                res = Usergrid.assign_role(role_uuid, target_role_entity)

                if res.ok:
                    logger.info('Assigned role [%s] to role [%s]' % (role_uuid, target_role_uuid))
                else:
                    logger.error('Failed on assigning role [%s] to role [%s]' % (role_uuid, target_role_uuid))

    else:
        logger.info('No Roles -> Roles to load')