Files
platformio-core/platformio/__main__.py

43 lines
924 B
Python
Raw Normal View History

# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
2014-06-03 21:27:36 +03:00
from os import listdir
from os.path import join
from sys import exit
2014-06-03 21:27:36 +03:00
from click import command, MultiCommand, version_option
2014-06-03 21:27:36 +03:00
from platformio import __version__
from platformio.util import get_source_dir
2014-06-03 21:27:36 +03:00
class PlatformioCLI(MultiCommand):
2014-06-03 21:27:36 +03:00
def list_commands(self, ctx):
cmds = []
for filename in listdir(join(get_source_dir(), "commands")):
if filename.startswith("__init__"):
continue
if filename.endswith(".py"):
cmds.append(filename[:-3])
cmds.sort()
return cmds
2014-06-03 21:27:36 +03:00
def get_command(self, ctx, name):
mod = __import__("platformio.commands." + name, None, None, ["cli"])
return mod.cli
2014-06-03 21:27:36 +03:00
@command(cls=PlatformioCLI)
@version_option(__version__)
def cli():
pass
2014-06-03 21:27:36 +03:00
def main():
cli()
if __name__ == "__main__":
exit(main())