def read_local_resource(path, csv_properties=None): """Read the JSON resource structure information from the given file. """ resource = empty_resource() if csv_properties is None: csv_properties = {} fields = None open_mode = "rt" if PYTHON3 else "rb" with open(path, open_mode) as resource_file: try: resource = json.loads(resource_file.read()) except IOError: pass resource_id = resource.get('resource') if resource_id is None: sys.exit("Failed to extract a BigML resource structure from the" " contents of file %s." % path) if resource.get('object') is None: resource = { 'resource': resource_id, 'object': resource, 'error': None, 'code': bigml.api.HTTP_OK } fields, resource_locale, missing_tokens = get_fields_structure(resource) if missing_tokens: csv_properties['missing_tokens'] = missing_tokens if resource_locale: csv_properties['data_locale'] = resource_locale if fields: fields = Fields(resource, **csv_properties) return resource, csv_properties, fields
def read_local_resource(path, csv_properties=None): """Read the JSON resource structure information from the given file. """ resource = empty_resource() if csv_properties is None: csv_properties = {} fields = None with open(path, open_mode('r')) as resource_file: try: resource = json.loads(resource_file.read()) except IOError: pass resource_id = resource.get('resource') if resource_id is None: sys.exit("Failed to extract a BigML resource structure from the" " contents of file %s." % path) if resource.get('object') is None: resource = {'resource': resource_id, 'object': resource, 'error': None, 'code': bigml.api.HTTP_OK} fields, resource_locale, missing_tokens, \ objective_column = get_fields_structure(resource) if 'objective_field' not in csv_properties and \ objective_column is not None: csv_properties['objective_field'] = objective_column if missing_tokens: csv_properties['missing_tokens'] = missing_tokens if resource_locale: csv_properties['data_locale'] = resource_locale if fields: fields = Fields(resource, **csv_properties) return resource, csv_properties, fields