mirror of
https://github.com/google/earthengine-api.git
synced 2025-12-08 19:26:12 +00:00
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
"""Executable for the Earth Engine command line interface.
|
|
|
|
This executable starts a Python Cmd instance to receive and process command
|
|
line input entered by the user. If the executable is invoked with some
|
|
command line arguments, the Cmd is launched in the one-off mode, where
|
|
the provided arguments are processed as a single command after which the
|
|
program is terminated. Otherwise, this executable will launch the Cmd in the
|
|
interactive (looping) mode, where the user will be able to run multiple
|
|
commands as in a typical terminal program.
|
|
"""
|
|
|
|
import argparse
|
|
|
|
import commands
|
|
import utils
|
|
|
|
|
|
COMMANDS = [
|
|
commands.AclCommand,
|
|
commands.AssetCommand,
|
|
commands.ConfigCommand,
|
|
commands.ExportCommand,
|
|
commands.ListCommand,
|
|
commands.RenameCommand,
|
|
commands.RmCommand,
|
|
commands.TasksCommand,
|
|
]
|
|
|
|
|
|
def main():
|
|
# Set the program name to 'earthengine' for proper help text display.
|
|
parser = argparse.ArgumentParser(
|
|
prog='earthengine', description='Earth Engine Command Line Interface.')
|
|
parser.add_argument(
|
|
'--ee-config', help='Path to the CLI configuration file.')
|
|
|
|
subparsers = parser.add_subparsers(title='Commands', dest='top_cmd')
|
|
command_objects = {}
|
|
for command in COMMANDS:
|
|
subparser = subparsers.add_parser(
|
|
command.name, description=command.__doc__, help=command.__doc__)
|
|
command_objects[command.name] = command(subparser)
|
|
args = parser.parse_args()
|
|
|
|
config = utils.CommandLineConfig(args.ee_config)
|
|
command_objects[args.top_cmd].run(args, config)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|