Refactor DCCsi to work better with O3DE changes (#4226)

* moving files in refactor/re-org

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

* dev env refactor/re-org

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

* moving/re-org so we can deprate the SDK nomiclature

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

* moving/re-org so we can deprate the SDK nomiclature

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

* Refactoring env so I can replace SDK with Tools folder

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

* re-org and prune, from SKD to Tools

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

* Removing old .bat files from SDK

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

* updated how to retreive PYTHONHOME

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

* Can't use/set PYTHONHOME with DCC Tools

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

* small refactor

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

* repaired a missed typo (causes error)

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

* Added missing EntityId.h include to FocusModeInterface.h

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* refactor additional LY to O3DE tags

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

* Some design scaffold file stubs

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

* stubbing in scaffold file pattern

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

* Removal of corrupted prefabs

Signed-off-by: Benjamin Black <benblac@amazon.com>

* refactored config_utils to maintain py2.7 support for maya 2020

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

* refactored config_utils to maintain py2.7 support for maya 2020

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

* pruning and cleanup

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

* .env is for local dev overrides

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

* .env is for local dev overrides

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

* clean up init and logging patterns

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

* Core refactoring, config.py functional standalone

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

* cleaned up some bad logging, fixed up boostrap

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

* fixed validation errors

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

* fix logging issue, tiddy up

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

* tiddy up maya for .bat bootstraping and launch

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

* name stub, fix validation

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

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Co-authored-by: Benjamin Black <benblac@amazon.com>
This commit is contained in:
Jonny Galloway
2021-10-21 19:03:49 -05:00
committed by GitHub
parent 50068bcae7
commit b779f358d0
197 changed files with 3779 additions and 3636 deletions
@@ -25,10 +25,10 @@ from azpy.constants import ENVAR_DCCSI_DEV_MODE
# --------------------------------------------------------------------------
# -- Global Definitions --
_DCCSI_DCC_APP = None
_DCCSI_G_DCC_APP = None
# set up global space, logging etc.
_G_DEBUG = env_bool(ENVAR_DCCSI_GDEBUG, False)
_DCCSI_GDEBUG = env_bool(ENVAR_DCCSI_GDEBUG, False)
_DCCSI_DEV_MODE = env_bool(ENVAR_DCCSI_DEV_MODE, False)
_MODULENAME = 'azpy.dev.utils.check.maya_app'
@@ -43,14 +43,14 @@ _LOGGER = _logging.getLogger(_MODULENAME)
def set_dcc_app(dcc_app='maya'):
"""
azpy.dev.utils.check.maya.set_dcc_app()
this will set global _DCCSI_DCC_APP = 'maya'
and os.environ["DCCSI_DCC_APP"] = 'maya'
this will set global _DCCSI_G_DCC_APP = 'maya'
and os.environ["DCCSI_G_DCC_APP"] = 'maya'
"""
_DCCSI_DCC_APP = dcc_app
_DCCSI_G_DCC_APP = dcc_app
_LOGGER.info('Setting DCCSI_DCC_APP to: {0}'.format(dcc_app))
_LOGGER.info('Setting DCCSI_G_DCC_APP to: {0}'.format(dcc_app))
return _DCCSI_DCC_APP
return _DCCSI_G_DCC_APP
# -------------------------------------------------------------------------
@@ -58,44 +58,44 @@ def set_dcc_app(dcc_app='maya'):
def clear_dcc_app(dcc_app=False):
"""
azpy.dev.utils.check.maya.set_dcc_app()
this will set global _DCCSI_DCC_APP = False
and os.environ["DCCSI_DCC_APP"] = False
this will set global _DCCSI_G_DCC_APP = False
and os.environ["DCCSI_G_DCC_APP"] = False
"""
_DCCSI_DCC_APP = dcc_app
_DCCSI_G_DCC_APP = dcc_app
_LOGGER.info('Setting DCCSI_DCC_APP to: {0}'.format(dcc_app))
_LOGGER.info('Setting DCCSI_G_DCC_APP to: {0}'.format(dcc_app))
return _DCCSI_DCC_APP
return _DCCSI_G_DCC_APP
# -------------------------------------------------------------------------
# -------------------------------------------------------------------------
def validate_state(DCCSI_DCC_APP=_DCCSI_DCC_APP):
def validate_state(DCCSI_G_DCC_APP=_DCCSI_G_DCC_APP):
'''
This will detect if we are running in Maya or not,
then will call either, set_dcc_app('maya') or clear_dcc_app(dcc_app=False)
'''
if _G_DEBUG:
if _DCCSI_GDEBUG:
_LOGGER.debug(autolog())
try:
import maya.cmds as cmds
DCCSI_DCC_APP = set_dcc_app('maya')
DCCSI_G_DCC_APP = set_dcc_app('maya')
except ImportError as e:
_LOGGER.warning('Can not perform: import maya.cmds as cmds')
DCCSI_DCC_APP = clear_dcc_app()
DCCSI_G_DCC_APP = clear_dcc_app()
else:
try:
if cmds.about(batch=True):
DCCSI_DCC_APP = set_dcc_app('maya')
DCCSI_G_DCC_APP = set_dcc_app('maya')
except AttributeError as e:
_LOGGER.warning("maya.cmds module isn't fully loaded/populated, "
"(cmds populates only in batch, maya.standalone, or maya GUI)")
# NO Maya
DCCSI_DCC_APP=clear_dcc_app()
DCCSI_G_DCC_APP=clear_dcc_app()
return DCCSI_DCC_APP
return DCCSI_G_DCC_APP
# -------------------------------------------------------------------------
@@ -120,7 +120,7 @@ def autolog():
# -------------------------------------------------------------------------
# run the check on import
_DCCSI_DCC_APP = validate_state()
_DCCSI_G_DCC_APP = validate_state()
# -------------------------------------------------------------------------
@@ -130,7 +130,7 @@ _DCCSI_DCC_APP = validate_state()
if __name__ == '__main__':
# there are not really tests to run here due to this being a list of
# constants for shared use.
_G_DEBUG = True
_DCCSI_GDEBUG = True
_DCCSI_DEV_MODE = True
_LOGGER.setLevel(_logging.DEBUG) # force debugging
@@ -150,5 +150,5 @@ if __name__ == '__main__':
_LOGGER.info('{} ... Running script as __main__'.format(_MODULENAME))
_LOGGER.info(STR_CROSSBAR)
_DCCSI_DCC_APP = validate_state()
_LOGGER.info('Is Maya Running? _DCCSI_DCC_APP = {}'.format(_DCCSI_DCC_APP))
_DCCSI_G_DCC_APP = validate_state()
_LOGGER.info('Is Maya Running? _DCCSI_G_DCC_APP = {}'.format(_DCCSI_G_DCC_APP))
@@ -21,10 +21,11 @@ import logging as _logging
# --------------------------------------------------------------------------
# -- Global Definitions --
_DCCSI_DCC_APP = None
_DCCSI_G_DCC_APP = None
_MODULENAME = 'azpy.dev.utils.check.running_state'
_LOGGER = _logging.getLogger(_MODULENAME)
_LOGGER.debug('Initializing: {0}.'.format({_MODULENAME}))
# -------------------------------------------------------------------------
@@ -36,7 +37,7 @@ class CheckRunningState(object):
"""
# Class Variables
DCCSI_DCC_APP = None
DCCSI_G_DCC_APP = None
def __init__(self, *args, **kwargs):
'''
@@ -82,32 +83,35 @@ class CheckRunningState(object):
def check_known(self):
# -- init --
# first let's check if any of these DCC apps are running
# To Do?: Add O3DE checks, treat as a DCC app?
# 0 - maya first
CheckRunningState.DCCSI_DCC_APP = self.maya_running()
CheckRunningState.DCCSI_G_DCC_APP = self.maya_running()
# 1 - then max
if not CheckRunningState.DCCSI_DCC_APP:
CheckRunningState.DCCSI_DCC_APP = self.max_running()
if not CheckRunningState.DCCSI_G_DCC_APP:
CheckRunningState.DCCSI_G_DCC_APP = self.max_running()
else:
_LOGGER.warning('DCCSI_DCC_APP is already set: {}'.format(CheckRunningState.DCCSI_DCC_APP))
_LOGGER.warning('DCCSI_G_DCC_APP is already set: {}'.format(CheckRunningState.DCCSI_G_DCC_APP))
# 2 - then blender
if not CheckRunningState.DCCSI_DCC_APP:
CheckRunningState.DCCSI_DCC_APP = self.blender_running()
if not CheckRunningState.DCCSI_G_DCC_APP:
CheckRunningState.DCCSI_G_DCC_APP = self.blender_running()
else:
_LOGGER.warning('DCCSI_DCC_APP is already set: {}'.format(CheckRunningState.DCCSI_DCC_APP))
_LOGGER.warning('DCCSI_G_DCC_APP is already set: {}'.format(CheckRunningState.DCCSI_G_DCC_APP))
# store checks for DCC info
if CheckRunningState.DCCSI_DCC_APP:
if CheckRunningState.DCCSI_G_DCC_APP:
self.dcc_py = True
# store check for is maya running headless
if CheckRunningState.DCCSI_DCC_APP == 'maya':
if CheckRunningState.DCCSI_G_DCC_APP == 'maya':
self.maya_headless = self.is_maya_headless()
# set a envar other modules can easily check
if CheckRunningState.DCCSI_DCC_APP:
os.environ['DCCSI_DCC_APP'] = CheckRunningState.DCCSI_DCC_APP
if CheckRunningState.DCCSI_G_DCC_APP:
os.environ['DCCSI_G_DCC_APP'] = CheckRunningState.DCCSI_G_DCC_APP
# ---------------------------------------------------------------------
@@ -164,13 +168,13 @@ class CheckRunningState(object):
"""< To Do: Need to document >"""
try:
import azpy.dev.utils.check.maya_app as check_dcc
DCCSI_DCC_APP = check_dcc.validate_state()
DCCSI_G_DCC_APP = check_dcc.validate_state()
except ImportError as e:
_LOGGER.info('Not Implemented: azpy.dev.utils.check.maya_app')
if DCCSI_DCC_APP:
CheckRunningState.DCCSI_DCC_APP = check_dcc.validate_state()
os.environ["DCCSI_DCC_APP"] = str(DCCSI_DCC_APP)
return CheckRunningState.DCCSI_DCC_APP
if DCCSI_G_DCC_APP:
CheckRunningState.DCCSI_G_DCC_APP = check_dcc.validate_state()
os.environ["DCCSI_G_DCC_APP"] = str(DCCSI_G_DCC_APP)
return CheckRunningState.DCCSI_G_DCC_APP
#----------------------------------------------------------------------
# --method-------------------------------------------------------------
@@ -200,13 +204,13 @@ class CheckRunningState(object):
"""
try:
import azpy.dev.utils.check.max_app as check_dcc
CheckRunningState.DCCSI_DCC_APP = check_dcc.validate_state()
CheckRunningState.DCCSI_G_DCC_APP = check_dcc.validate_state()
except ImportError as e:
_LOGGER.info('Not Implemented: azpy.dev.utils.check.max')
if CheckRunningState.DCCSI_DCC_APP:
CheckRunningState.DCCSI_DCC_APP = check_dcc.validate_state()
os.environ["DCCSI_DCC_APP"] = str(CheckRunningState.DCCSI_DCC_APP)
return CheckRunningState.DCCSI_DCC_APP
if CheckRunningState.DCCSI_G_DCC_APP:
CheckRunningState.DCCSI_G_DCC_APP = check_dcc.validate_state()
os.environ["DCCSI_G_DCC_APP"] = str(CheckRunningState.DCCSI_G_DCC_APP)
return CheckRunningState.DCCSI_G_DCC_APP
#----------------------------------------------------------------------
@@ -217,13 +221,13 @@ class CheckRunningState(object):
"""
try:
import azpy.dev.utils.check.blender_app as check_dcc
CheckRunningState.DCCSI_DCC_APP = check_dcc.validate_state()
CheckRunningState.DCCSI_G_DCC_APP = check_dcc.validate_state()
except ImportError as e:
_LOGGER.info('Not Implemented: azpy.dev.utils.check.blender')
if CheckRunningState.DCCSI_DCC_APP:
CheckRunningState.DCCSI_DCC_APP = check_dcc.validate_state()
os.environ["DCCSI_DCC_APP"] = str(CheckRunningState.DCCSI_DCC_APP)
return CheckRunningState.DCCSI_DCC_APP
if CheckRunningState.DCCSI_G_DCC_APP:
CheckRunningState.DCCSI_G_DCC_APP = check_dcc.validate_state()
os.environ["DCCSI_G_DCC_APP"] = str(CheckRunningState.DCCSI_G_DCC_APP)
return CheckRunningState.DCCSI_G_DCC_APP
#----------------------------------------------------------------------
@@ -231,7 +235,7 @@ class CheckRunningState(object):
# Class Test
#==========================================================================
if __name__ == '__main__':
_G_DEBUG = True
_DCCSI_GDEBUG = True
_DCCSI_DEV_MODE = True
_LOGGER.setLevel(_logging.DEBUG) # force debugging
@@ -251,4 +255,4 @@ if __name__ == '__main__':
_LOGGER.info(STR_CROSSBAR)
foo = CheckRunningState()
_LOGGER.info('DCCSI_DCC_APP: {}'.format(foo.DCCSI_DCC_APP))
_LOGGER.info('DCCSI_G_DCC_APP: {}'.format(foo.DCCSI_G_DCC_APP))