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:
+23
-23
@@ -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))
|
||||
|
||||
+34
-30
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user