Source code for ee_extra.JavaScript.main
"""JavaScript main module provide functions to transform Eath Engine (EE)
JavaScript code to Python code. The following functions are implemented:
I. Functions
* ee_js_to_py: Convert an EE JavaScript file to an EE Python file.
* ee_translate: Translate a EE Js module to a Python script.
* require:
"""
from ee_extra import translate
from ee_extra.JavaScript.merge import require
from ee_extra.JavaScript.install import install
[docs]def ee_translate(x: str) -> str:
"""Translate a EE Js module to a Python script.
Args:
x (str): EE Js module as a string.
Returns:
str: EE Python script.
"""
return translate(x)
[docs]def ee_js_to_py(in_file: str, out_file: str, black: bool = True) -> bool:
"""Convert an EE JavaScript file to an EE Python file.
Args:
in_file (str): File path of the input JavaScript.
out_file (str): File path of the output Python script.
Returns:
bool: Return True if the conversion is successful.
"""
with open(in_file, "r") as f_in:
js_file = f_in.read()
py_file = translate(js_file, black)
with open(out_file, "w") as f_out:
f_out.write(py_file)
return True
[docs]def ee_require(x: str):
"""Requires a JavaScript module as a python module.
Args:
x (str): EE Js module as a string.
Returns:
module: Python module.
"""
install(x, quiet=True)
return require(x)