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
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
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)
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')