Source code for stakkr.file_utils

# coding: utf-8
"""
Files Utils to find dir, files, etc.

Such as : static files locations or directories location
"""

from os import getcwd, listdir
from os.path import dirname, realpath


[docs]def get_lib_basedir(): """Return the base directory of stakkr, where all files are, to read services and config.""" return dirname(realpath(__file__))
[docs]def get_dir(directory: str): """Detect if stakkr is a package or a clone and gives the right path for a directory.""" return '{}/{}'.format(get_lib_basedir(), directory)
[docs]def get_file(directory: str, filename: str): """Detect if stakkr is a package or a clone and gives the right path for a file.""" return get_dir(directory) + '/' + filename.lstrip('/')
[docs]def find_project_dir(): """Determine the project base dir, by searching a stakkr.yml file""" path = getcwd() while True: files = listdir(path) if 'stakkr.yml' in files: return path new_path = dirname(path) if new_path == path: raise FileNotFoundError('Could not find config file (stakkr.yml)') path = new_path