inittools.py (2770B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\inittools.py 2 import blue 3 import bluepy 4 import logmodule 5 import os 6 import site 7 import sys 8 import traceback 9 import platform 10 11 def gettool(): 12 args = blue.pyos.GetArg()[1:] 13 for each in iter(args): 14 split = each.split('=') 15 if split[0].strip() == '/tools' and len(split) > 1: 16 tool = split[1].strip() 17 return tool 18 19 20 def run_(tool): 21 isWin32 = blue.sysinfo.processBitCount == 32 22 isOSX = platform.system().lower() == 'darwin' 23 join = os.path.join 24 binstr = 'win32' if isWin32 else 'x64' 25 carbonTools = blue.paths.ResolvePath(u'root:/../carbon/tools') 26 platformTools = blue.paths.ResolvePath(u'root:/../platformtools') 27 site.addsitedir(blue.paths.ResolvePath(u'root:/../packages')) 28 sys.path.append(blue.paths.ResolvePath(u'root:/..')) 29 eveTools = blue.paths.ResolvePath(u'root:/tools') 30 carbonToolsLib = os.path.join(carbonTools, 'lib') 31 sys.path.append(carbonToolsLib) 32 if isOSX: 33 sys.path.append(join(platformTools, 'external', 'macOS', binstr, 'AppleClang')) 34 else: 35 sys.path.append(join(platformTools, 'external', binstr)) 36 if not blue.pyos.packaged and '/localdevtools' in blue.pyos.GetArg(): 37 from eveprefs import boot 38 from localdevtools import startup as localdevtools_startup 39 localdevtools_startup.start_from_autoexec(role=boot.role) 40 41 def execIfExists(toolPath): 42 path = '%s/startup/%s.py' % (toolPath, tool) 43 if os.path.exists(path): 44 _ExecScript(path, tool) 45 return True 46 return False 47 48 if os.path.exists(tool): 49 _ExecScript(tool, tool) 50 elif execIfExists(eveTools): 51 pass 52 elif execIfExists(carbonTools): 53 pass 54 elif execIfExists(platformTools): 55 pass 56 else: 57 errStr = 'The following file was not found on your machine: /tools/startup/%s.py' % tool 58 _LogAndTerm(errStr, tool) 59 60 61 def _LogAndTerm(errstr, tool): 62 silent = '/silent' in blue.pyos.GetArg() 63 if not silent: 64 blue.os.ShowErrorMessageBox('Failed to initialize %s' % tool, errstr) 65 bluepy.Terminate(1, errstr) 66 67 68 def _ExecScript(path, tool): 69 try: 70 rf = blue.classes.CreateInstance('blue.ResFile') 71 rf.OpenAlways(path) 72 try: 73 data = rf.Read() 74 finally: 75 rf.Close() 76 77 data = data.replace('\r\n', '\n') 78 codeObject = compile(data, path, 'exec') 79 eval(codeObject, globals()) 80 runFunc = globals().get('run', None) 81 if runFunc is not None: 82 runFunc() 83 except Exception as e: 84 traceback.print_exc() 85 logmodule.LogException() 86 _LogAndTerm(str(e), tool)