Source code for fastiot.cli.fiot

#!/usr/bin/env python3
""" Basic script to start the fiot command line program """
import logging
import os
import sys

from fastiot.cli import typer_app
from fastiot.cli.constants import CONFIGURE_FILE_NAME
from fastiot.env import env_basic
from fastiot.cli.model.project import ProjectContext  # noqa  # pylint: disable=wildcard-import,unused-wildcard-import


[docs]def main(): # entry point for fastiot command logging.basicConfig(level=env_basic.log_level) # change work dir if configure.py is not in current dir curdir = os.path.abspath(os.path.curdir) entry_dir = curdir while os.path.isfile(os.path.join(curdir, CONFIGURE_FILE_NAME)) is False: newpath = os.path.abspath(os.path.join(curdir, '..')) if newpath == curdir: # check if we reached system's root dir # reset current dir - we don't want to navigate to system's root dir unnecessarily curdir = entry_dir break curdir = newpath os.chdir(curdir) # import src dir if located and available _src_dir = os.path.join(curdir, 'src') if os.path.isdir(_src_dir) and _src_dir not in sys.path: sys.path.append(_src_dir) # trigger context creation context = ProjectContext.default # pylint: disable=unused-variable typer_app.app()
if __name__ == '__main__': main()