Atom/16852 (#6316)

* discover build folder, don't assume or require

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* update config_utils, no cyclical imports

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* improved docstrings and some code formatting

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* updates to config.py

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* updates to config_utils.py

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* dccsi bootstrap changes

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* fixed testing for bootstrap externally

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* added note for installing substance automation toolkit for tool dev

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* based on user feedback suppress global debug by default in IDE

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>

* small adjustments

Signed-off-by: Jonny Gallowy <gallowj@amazon.com>
This commit is contained in:
Jonny Galloway
2021-12-15 10:25:23 -06:00
committed by GitHub
parent e2679aad57
commit cbba00d473
51 changed files with 1263 additions and 773 deletions
@@ -34,7 +34,7 @@ print(_config)
# this is an alternative to "from dynaconf import settings" with Qt
settings = _config.get_config_settings(setup_ly_pyside=True)
# app_path = Path.joinpath(settings.DCCSIG_PATH, < relative path to current script dir >).resolve()
# app_path = Path.joinpath(settings.PATH_DCCSIG, < relative path to current script dir >).resolve()
# 3rd Party (we may or do provide)
from box import Box
@@ -507,7 +507,7 @@ class FBXConverter(QtWidgets.QDialog):
_LOGGER.debug('get_material_definition, os.getcwd() is: {}'.format(os.getcwd()))
# build a resolved absolute path because cwd may be unknown and change running externally
material_file = Path(settings.DCCSIG_PATH,
material_file = Path(settings.PATH_DCCSIG,
'SDK', 'Maya', 'Scripts', 'Python', 'kitbash_converter',
material_file).resolve()
@@ -18,14 +18,14 @@ import site
_MODULE_PATH = os.path.abspath(__file__)
_DCCSIG_REL_PATH = "../../../.."
_DCCSIG_PATH = os.path.join(_MODULE_PATH, _DCCSIG_REL_PATH)
_DCCSIG_PATH = os.path.normpath(_DCCSIG_PATH)
_PATH_DCCSIG = os.path.join(_MODULE_PATH, _DCCSIG_REL_PATH)
_PATH_DCCSIG = os.path.normpath(_PATH_DCCSIG)
_DCCSIG_PATH = os.getenv('DCCSIG_PATH',
os.path.abspath(_DCCSIG_PATH))
_PATH_DCCSIG = os.getenv('PATH_DCCSIG',
os.path.abspath(_PATH_DCCSIG))
# we don't have access yet to the DCCsi Lib\site-packages
site.addsitedir(_DCCSIG_PATH) # PYTHONPATH
site.addsitedir(_PATH_DCCSIG) # PYTHONPATH
# azpy bootstrapping and extensions
import azpy.config_utils
@@ -135,14 +135,14 @@ if _DCCSI_DEV_MODE:
# -------------------------------------------------------------------------
# validate access to the DCCsi and it's Lib site-packages
# bootstrap site-packages by version
from azpy.constants import PATH_DCCSI_PYTHON_LIB_PATH
from azpy.constants import PATH_DCCSI_PYTHON_LIB
try:
os.path.exists(PATH_DCCSI_PYTHON_LIB_PATH)
site.addsitedir(PATH_DCCSI_PYTHON_LIB_PATH)
_LOGGER.info('azpy 3rdPary site-packages: is: {0}'.format(PATH_DCCSI_PYTHON_LIB_PATH))
os.path.exists(PATH_DCCSI_PYTHON_LIB)
site.addsitedir(PATH_DCCSI_PYTHON_LIB)
_LOGGER.info('azpy 3rdPary site-packages: is: {0}'.format(PATH_DCCSI_PYTHON_LIB))
except Exception as e:
_LOGGER.error('ERROR: {0}, {1}'.format(e, PATH_DCCSI_PYTHON_LIB_PATH))
_LOGGER.error('ERROR: {0}, {1}'.format(e, PATH_DCCSI_PYTHON_LIB))
raise e
# 3rdparty
@@ -175,15 +175,15 @@ try:
except Exception as e:
_LOGGER.critical(_STR_ERROR_ENVAR.format(_BASE_ENVVAR_DICT[ENVAR_DCCSI_SDK_PATH]))
_O3DE_PROJECT_PATH = None
_PATH_O3DE_PROJECT = None
try:
_O3DE_PROJECT_PATH = _BASE_ENVVAR_DICT[ENVAR_O3DE_PROJECT_PATH]
_PATH_O3DE_PROJECT = _BASE_ENVVAR_DICT[ENVAR_PATH_O3DE_PROJECT]
except Exception as e:
_LOGGER.critical(_STR_ERROR_ENVAR.format(_BASE_ENVVAR_DICT[ENVAR_O3DE_PROJECT_PATH]))
_LOGGER.critical(_STR_ERROR_ENVAR.format(_BASE_ENVVAR_DICT[ENVAR_PATH_O3DE_PROJECT]))
# check some env var tags (fail if no, likely means no proper code access)
_O3DE_DEV = _BASE_ENVVAR_DICT[ENVAR_O3DE_DEV]
_O3DE_DCCSIG_PATH = _BASE_ENVVAR_DICT[ENVAR_DCCSIG_PATH]
_O3DE_PATH_DCCSIG = _BASE_ENVVAR_DICT[ENVAR_PATH_DCCSIG]
_O3DE_DCCSI_LOG_PATH = _BASE_ENVVAR_DICT[ENVAR_DCCSI_LOG_PATH]
_O3DE_AZPY_PATH = _BASE_ENVVAR_DICT[ENVAR_DCCSI_AZPY_PATH]
# -------------------------------------------------------------------------
@@ -270,18 +270,18 @@ def post_startup():
install_fix_paths()
# set the project workspace
#_O3DE_PROJECT_PATH = _BASE_ENVVAR_DICT[ENVAR_O3DE_PROJECT_PATH]
_project_workspace = os.path.join(_O3DE_PROJECT_PATH, TAG_MAYA_WORKSPACE)
#_PATH_O3DE_PROJECT = _BASE_ENVVAR_DICT[ENVAR_PATH_O3DE_PROJECT]
_project_workspace = os.path.join(_PATH_O3DE_PROJECT, TAG_MAYA_WORKSPACE)
if os.path.isfile(_project_workspace):
try:
# load workspace
maya.cmds.workspace(_O3DE_PROJECT_PATH, openWorkspace=True)
maya.cmds.workspace(_PATH_O3DE_PROJECT, openWorkspace=True)
_LOGGER.info('Loaded workspace file: {0}'.format(_project_workspace))
maya.cmds.workspace(_O3DE_PROJECT_PATH, update=True)
maya.cmds.workspace(_PATH_O3DE_PROJECT, update=True)
except Exception as e:
_LOGGER.error(e)
else:
_LOGGER.warning('Workspace file not found: {1}'.format(_O3DE_PROJECT_PATH))
_LOGGER.warning('Workspace file not found: {1}'.format(_PATH_O3DE_PROJECT))
# Set up Lumberyard, maya default setting
from set_defaults import set_defaults