from .imports import os
# ---------------------------------------------------------------------------
# Model Paths — One row of everything we know. All Optional — partial fills are valid.
# ---------------------------------------------------------------------------

def get_dirlist(directory):
    return os.listdir(directory)
def get_dirlist_paths(directory):
    dirlist = get_dirlist(directory)
    return [os.path.join(directory,item) for item in dirlist if item]

def get_model_type_dirs():
    return get_dirlist(MODELS_HOME)
def get_model_type_dir_paths():
    return get_dirlist_paths(MODELS_HOME)
def get_model_task_dirs():
    all_task_dirs = []
    model_type_dir_paths = get_model_type_dir_paths()
    for model_type_dir_path in model_type_dir_paths:
        all_task_dirs += get_dirlist_paths(model_type_dir_path)
    return all_task_dirs
def get_model_maker_dirs():
    all_model_maker_dirs = []
    model_maker_dir_paths = get_model_task_dirs()
    for model_maker_dir_path in model_maker_dir_paths:
        all_model_maker_dirs += get_dirlist_paths(model_maker_dir_path)
    return all_model_maker_dirs
def get_model_dirs():
    all_model_dirs = []
    model_dir_paths = get_model_maker_dirs()
    for model_dir_path in model_dir_paths:
        all_model_dirs += get_dirlist_paths(model_dir_path)
    return all_model_dirs

def get_hub_id_from_directory(directory):
    model_task_dirs = get_model_task_dirs()
    for model_task_dir in model_task_dirs:
        if directory.startswith(model_task_dir):
            return model_task_dir[len(directory):]
