constants.py 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. # coding:utf-8
  2. #!/usr/bin/python
  3. #
  4. # Copyright (c) Contributors to the Open 3D Engine Project.
  5. # For complete copyright and license terms please see the LICENSE at the root of this distribution.
  6. #
  7. # SPDX-License-Identifier: Apache-2.0 OR MIT
  8. #
  9. #
  10. # -------------------------------------------------------------------------
  11. """! DccScriptingInterface:: constants.py
  12. Commonly used global constants and default values.
  13. """
  14. # -------------------------------------------------------------------------
  15. # standard imports
  16. import os
  17. import sys
  18. from pathlib import Path
  19. import logging as _logging
  20. # -------------------------------------------------------------------------
  21. _MODULENAME = 'DCCsi.constants'
  22. _LOGGER = _logging.getLogger(_MODULENAME)
  23. _LOGGER.debug(f'Initializing: {_MODULENAME}')
  24. _MODULE_PATH = Path(__file__) # this module should not be used as an entry
  25. PATH_DCCSIG = _MODULE_PATH.parents[0].resolve()
  26. sys.path.append(PATH_DCCSIG)
  27. # -------------------------------------------------------------------------
  28. # global constants here
  29. # all the constants moved here, need to be removed from azpy.constants
  30. # and then modules should be refactored to all pull from here
  31. # ENVAR_ denotes a common key string
  32. # name of o3de folder in user home, TAG_USER_O3DE = '.o3de'
  33. from DccScriptingInterface import TAG_USER_O3DE
  34. # the user home
  35. from DccScriptingInterface import USER_HOME
  36. # envar to get/set/override the logging level
  37. from DccScriptingInterface import ENVAR_DCCSI_LOGLEVEL
  38. # envar to get/set/override the engine root
  39. from DccScriptingInterface import ENVAR_O3DE_DEV
  40. # envar to get/set/override the o3de 3rdParty location
  41. from DccScriptingInterface import ENVAR_PATH_O3DE_3RDPARTY
  42. # envar related to PySide2 bootstrapping
  43. from DccScriptingInterface import ENVAR_QT_PLUGIN_PATH
  44. # a str path constructor for the dccsi 3rdParty site-dir
  45. from DccScriptingInterface import STR_DCCSI_PYTHON_LIB
  46. # envar to get/set/override the location of the dccsi gem
  47. from DccScriptingInterface import ENVAR_PATH_DCCSIG
  48. # envar to get/set/override the location of DCCsi
  49. # 3rdParty package dependencies (site-directory)
  50. from DccScriptingInterface import ENVAR_PATH_DCCSI_PYTHON_LIB
  51. # a path string constructor for that site-dir location
  52. from DccScriptingInterface import STR_DCCSI_PYTHON_LIB
  53. # envar to get/set/override project path
  54. from DccScriptingInterface import ENVAR_PATH_O3DE_PROJECT
  55. # envar to get/set/override project name
  56. from DccScriptingInterface import ENVAR_O3DE_PROJECT
  57. # envar to get/set/override the \bin executables folder
  58. from DccScriptingInterface import ENVAR_PATH_O3DE_BIN
  59. # the common filename.ext for local/override settings file
  60. from DccScriptingInterface import DCCSI_SETTINGS_LOCAL_FILENAME
  61. # common logging formatting strings
  62. from DccScriptingInterface import FRMT_LOG_SHRT
  63. from DccScriptingInterface import FRMT_LOG_LONG
  64. # manifest filename, 'o3de_manifest.json'
  65. from DccScriptingInterface import SLUG_MANIFEST_FILENAME
  66. # # {user_home}\.o3de\registry\bootstrap.setreg
  67. from DccScriptingInterface import SLUG_BOOTSTRAP_FILENAME
  68. from DccScriptingInterface import ENVAR_QT_PLUGIN_PATH
  69. from DccScriptingInterface import ENVAR_PROGRAMFILES_X86
  70. from DccScriptingInterface import PATH_PROGRAMFILES_X86
  71. from DccScriptingInterface import ENVAR_PROGRAMFILES_X64
  72. from DccScriptingInterface import PATH_PROGRAMFILES_X64
  73. from DccScriptingInterface import SLUG_DCCSI_WING_TYPE
  74. from DccScriptingInterface import SLUG_DCCSI_WING_VERSION_MAJOR
  75. from DccScriptingInterface import PATH_WINGHOME
  76. from DccScriptingInterface import PATH_WING_APPDATA
  77. # path string constructor
  78. PATH_USER_O3DE = f'{USER_HOME}\\{TAG_USER_O3DE}'
  79. # user home o3se registry
  80. SLUG_DIR_REGISTRY = 'Registry'
  81. # path string constructor
  82. PATH_USER_O3DE_REGISTRY = f'{PATH_USER_O3DE}\\{SLUG_DIR_REGISTRY}'
  83. # logging into the user home o3de cache (temporarily)
  84. SLUG_DCCSI_SHORT = 'DCCsi'
  85. PATH_DCCSI_LOG_PATH = (f'{PATH_USER_O3DE}\\Cache\\log' +
  86. f'\\{SLUG_DCCSI_SHORT}' +
  87. f'\\{SLUG_DCCSI_SHORT}.log')
  88. # envar to get/set the < dccsi>/tools folder
  89. ENVAR_PATH_DCCSI_TOOLS = 'PATH_DCCSI_TOOLS'
  90. # envar to get/set the < dccsi>/tools/IDE folder
  91. ENVAR_PATH_DCCSI_TOOLS_DCC = 'PATH_DCCSI_TOOLS_DCC'
  92. # envar to get/set the < dccsi>/tools/IDE folder
  93. ENVAR_PATH_DCCSI_TOOLS_IDE = 'PATH_DCCSI_TOOLS_IDE'
  94. # dccsi envar to set the default py for IDE
  95. ENVAR_DCCSI_PY_DEFAULT = 'DCCSI_PY_DEFAULT'
  96. ENVAR_DCCSI_PY_IDE = 'DCCSI_PY_IDE'
  97. # envar to get/set the < dccsi>/tools/IDE/Wing folder
  98. ENVAR_PATH_DCCSI_TOOLS_IDE_WING = 'PATH_DCCSI_TOOLS_IDE_WING'
  99. # envar to get/set bool for global DCCSI_GDEBUG behavior
  100. ENVAR_DCCSI_GDEBUG = 'DCCSI_GDEBUG'
  101. # envar to get/set bool for developer mode (debugging)
  102. ENVAR_DCCSI_DEV_MODE = 'DCCSI_DEV_MODE'
  103. # envar to get/set the ide debugger str/slug (only 'WING' implemented)
  104. ENVAR_DCCSI_GDEBUGGER = 'DCCSI_GDEBUGGER'
  105. # envar to get/set bool for running extra local tests
  106. ENVAR_DCCSI_TESTS = 'DCCSI_TESTS'
  107. # a str prefix for dynamic settings
  108. DCCSI_DYNAMIC_PREFIX = 'DYNACONF'
  109. # utility: constants, like pretty print strings
  110. from DccScriptingInterface import STR_CROSSBAR
  111. STR_CROSSBAR_RL = f'{STR_CROSSBAR}\r'
  112. STR_CROSSBAR_NL = f'{STR_CROSSBAR}\n'
  113. # settings file paths
  114. from DccScriptingInterface import SETTINGS_FILE_SLUG
  115. from DccScriptingInterface import LOCAL_SETTINGS_FILE_SLUG
  116. from DccScriptingInterface import PATH_DCCSIG_SETTINGS
  117. from DccScriptingInterface import PATH_DCCSIG_LOCAL_SETTINGS
  118. # -------------------------------------------------------------------------
  119. ###########################################################################
  120. # Main Code Block, runs this script as main (testing)
  121. # -------------------------------------------------------------------------
  122. if __name__ == '__main__':
  123. """Run as main, perform additional debug and module tests"""
  124. pass