您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

44 行
1.2 KiB

  1. class jsNamespace:
  2. package_prefix = '_'
  3. @staticmethod
  4. def modname_to_filename(modname,jsdir, ext='.js'):
  5. import os
  6. path = modname.replace('.',os.sep)
  7. path = os.path.join(jsdir,path)
  8. if jsNamespace.is_package(modname,jsdir):
  9. packagename = jsNamespace.getmodfilename(modname)
  10. path = os.path.join(path,packagename)
  11. elif jsNamespace.is_jsfile(modname,jsdir,ext):
  12. path = path + ext
  13. else:
  14. path = 'notf' # TODO raise exception that it doesnt exist
  15. return path
  16. @staticmethod
  17. def is_package(modname,jsdir):
  18. import os
  19. path = modname.replace('.',os.sep)
  20. path = os.path.join(jsdir,path)
  21. return os.path.isdir(path)
  22. @staticmethod
  23. def is_jsfile(modname,jsdir,ext='.js'):
  24. import os
  25. path = modname.replace('.',os.sep)
  26. path = os.path.join(jsdir,path)
  27. return os.path.isfile(path + ext)
  28. @staticmethod
  29. def getmodname(modpath,ext='.js'):
  30. """
  31. returns filename for the stiched file
  32. """
  33. import os
  34. b = modpath.split(os.sep)
  35. modname = jsNamespace.package_prefix + b[-1] + ext
  36. return modname
  37. @staticmethod
  38. def getmodfilename(modname,ext='.js'):
  39. ret = modname.split('.')
  40. ret = ret[-1]
  41. ret = jsNamespace.getmodname(ret)
  42. return ret