More PR changes

Signed-off-by: nggieber <nggieber@amazon.com>
monroegm-disable-blank-issue-2
nggieber 4 years ago
parent acfbed8a58
commit 06953bb81f

@ -421,31 +421,34 @@ def get_templates_for_generic_creation(): # temporary until we have a better wa
return list(filter(filter_project_and_gem_templates_out, get_all_templates())) return list(filter(filter_project_and_gem_templates_out, get_all_templates()))
def get_json_file_path(object_typename: str = None, def get_json_file_path(object_typename: str,
object_path: str or pathlib.Path = None) -> pathlib.Path: object_path: str or pathlib.Path = None) -> pathlib.Path:
if not object_typename: if not object_typename:
logger.error(f'Missing object typename.') logger.error('Missing object typename.')
return None
if not object_path: if not object_path:
logger.error(f'{object_typename} Path {object_path} has not been registered.')
return None return None
object_path = pathlib.Path(object_path).resolve() object_path = pathlib.Path(object_path).resolve()
return object_path / f'{object_typename}.json' return object_path / f'{object_typename}.json'
def get_json_data_file(object_typename: str = None, def get_json_data_file(object_json: pathlib.Path,
object_json: str or pathlib.Path = None, object_typename: str = None,
object_validator = callable) -> dict or None: object_validator = callable) -> dict or None:
if not object_typename: if not object_typename:
logger.error(f'Missing object typename.') logger.error('Missing object typename.')
if not object_json:
logger.error(f'No object_json provided for {object_typename}')
if not object_json.is_file(): if not object_json.is_file():
logger.error(f'{object_typename} json {object_json} is not present.') logger.error(f'{object_typename} json {object_json} is not present.')
return None return None
if not object_validator: if not object_validator:
logger.error(f'Missing object validator.') logger.error('Missing object validator.')
if not object_validator(object_json): if not object_validator(object_json):
logger.error(f'{object_typename} json {object_json} is not valid.') logger.error(f'{object_typename} json {object_json} is not valid.')
@ -463,10 +466,14 @@ def get_json_data_file(object_typename: str = None,
def get_json_data(object_typename: str = None, def get_json_data(object_typename: str = None,
object_path: str or pathlib.Path = None, object_path: str or pathlib.Path = None,
object_validator = callable) -> dict or None: object_validator = callable,
object_name: str = None) -> dict or None:
object_json = get_json_file_path(object_typename, object_path) object_json = get_json_file_path(object_typename, object_path)
return get_json_data_file(object_typename, object_json, object_validator) if not object_json and object_name:
logger.error(f'{object_name} has not been registered.')
return get_json_data_file(object_json, object_typename, object_validator)
def get_engine_json_data(engine_name: str = None, def get_engine_json_data(engine_name: str = None,
@ -478,7 +485,7 @@ def get_engine_json_data(engine_name: str = None,
if engine_name and not engine_path: if engine_name and not engine_path:
engine_path = get_registered(engine_name=engine_name) engine_path = get_registered(engine_name=engine_name)
return get_json_data('engine', engine_path, validation.valid_o3de_engine_json) return get_json_data('engine', engine_path, validation.valid_o3de_engine_json, engine_name)
def get_project_json_data(project_name: str = None, def get_project_json_data(project_name: str = None,
@ -490,7 +497,7 @@ def get_project_json_data(project_name: str = None,
if project_name and not project_path: if project_name and not project_path:
project_path = get_registered(project_name=project_name) project_path = get_registered(project_name=project_name)
return get_json_data('project', project_path, validation.valid_o3de_project_json) return get_json_data('project', project_path, validation.valid_o3de_project_json, project_name)
def get_gem_json_data(gem_name: str = None, gem_path: str or pathlib.Path = None, def get_gem_json_data(gem_name: str = None, gem_path: str or pathlib.Path = None,
@ -502,7 +509,7 @@ def get_gem_json_data(gem_name: str = None, gem_path: str or pathlib.Path = None
if gem_name and not gem_path: if gem_name and not gem_path:
gem_path = get_registered(gem_name=gem_name, project_path=project_path) gem_path = get_registered(gem_name=gem_name, project_path=project_path)
return get_json_data('gem', gem_path, validation.valid_o3de_gem_json) return get_json_data('gem', gem_path, validation.valid_o3de_gem_json, gem_name)
def get_template_json_data(template_name: str = None, template_path: str or pathlib.Path = None, def get_template_json_data(template_name: str = None, template_path: str or pathlib.Path = None,
@ -514,7 +521,7 @@ def get_template_json_data(template_name: str = None, template_path: str or path
if template_name and not template_path: if template_name and not template_path:
template_path = get_registered(template_name=template_name, project_path=project_path) template_path = get_registered(template_name=template_name, project_path=project_path)
return get_json_data('template', template_path, validation.valid_o3de_template_json) return get_json_data('template', template_path, validation.valid_o3de_template_json, template_name)
def get_restricted_json_data(restricted_name: str = None, restricted_path: str or pathlib.Path = None, def get_restricted_json_data(restricted_name: str = None, restricted_path: str or pathlib.Path = None,
@ -526,18 +533,18 @@ def get_restricted_json_data(restricted_name: str = None, restricted_path: str o
if restricted_name and not restricted_path: if restricted_name and not restricted_path:
restricted_path = get_registered(restricted_name=restricted_name, project_path=project_path) restricted_path = get_registered(restricted_name=restricted_name, project_path=project_path)
return get_json_data('restricted', restricted_path, validation.valid_o3de_restricted_json) return get_json_data('restricted', restricted_path, validation.valid_o3de_restricted_json, restricted_name)
def get_repo_json_data(repo_uri: str = None) -> dict or None: def get_repo_json_data(repo_uri: str) -> dict or None:
if not repo_uri: if not repo_uri:
logger.error('Must specify a Repo Uri.') logger.error('Must specify a Repo Uri.')
return None return None
repo_json = get_repo_path(repo_uri=repo_uri) repo_json = get_repo_path(repo_uri=repo_uri)
get_json_data_file("Repo", repo_json, validation.valid_o3de_repo_json) return get_json_data_file(repo_json, "Repo", validation.valid_o3de_repo_json)
def get_repo_path(repo_uri: str = None, cache_folder: str = None) -> pathlib.Path: def get_repo_path(repo_uri: str, cache_folder: str = None) -> pathlib.Path:
if not cache_folder: if not cache_folder:
cache_folder = get_o3de_cache_folder() cache_folder = get_o3de_cache_folder()

Loading…
Cancel
Save