awtk_locator.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import os
  2. import sys
  3. AWTK_ROOT = ''
  4. def getAwtkRoot():
  5. return AWTK_ROOT
  6. def getAwtkSDKPath():
  7. env = os.environ
  8. if 'AWTK_SDK_PATH' in env:
  9. return env['AWTK_SDK_PATH']
  10. else:
  11. return ''
  12. def locateAWTK(awtk):
  13. awtk_root = ''
  14. if not os.path.exists(awtk_root):
  15. dirnames = ['../'+awtk, '../../'+awtk]
  16. for dirname in dirnames:
  17. if os.path.exists(dirname):
  18. awtk_root = dirname
  19. break
  20. if not os.path.exists(awtk_root):
  21. awtk_sdk_path = getAwtkSDKPath();
  22. if os.path.exists(awtk_sdk_path):
  23. awtk_root = awtk_sdk_path + '/' + awtk
  24. return os.path.abspath(awtk_root)
  25. def getAwtkOrAwtkLinuxFbRoot(is_linux_fb):
  26. if is_linux_fb:
  27. return locateAWTK('awtk-linux-fb')
  28. else:
  29. return locateAWTK('awtk')
  30. def init(ARGUMENTS = None):
  31. global AWTK_ROOT
  32. LINUX_FB = False
  33. if ARGUMENTS:
  34. AWTK_ROOT = ARGUMENTS.get('AWTK_ROOT', '')
  35. LINUX_FB = ARGUMENTS.get('LINUX_FB', '').lower().startswith('t')
  36. if not os.path.exists(AWTK_ROOT):
  37. AWTK_ROOT = getAwtkOrAwtkLinuxFbRoot(LINUX_FB)
  38. if not os.path.exists(AWTK_ROOT):
  39. print('Not found ' + AWTK_ROOT + ' !!!')
  40. sys.exit()
  41. if LINUX_FB:
  42. AWTK_SCRIPTS_ROOT = os.path.join(AWTK_ROOT, '../awtk/scripts')
  43. else:
  44. AWTK_SCRIPTS_ROOT = os.path.join(AWTK_ROOT, 'scripts')
  45. sys.path.insert(0, AWTK_SCRIPTS_ROOT)
  46. print('AWTK_ROOT: ' + AWTK_ROOT)
  47. print('AWTK_SCRIPTS_ROOT: ' + AWTK_SCRIPTS_ROOT)