def list_dir()

in src/ab/utils/security.py [0:0]


def list_dir(include, exclude):
    """
    列出需要加密的python文件
    :return:
    """
    if exclude is not None:
        excludes = exclude.split(",")

    if include is not None:
        includes = include.split(",")

    def include_name(oname):
        if include is not None:
            for e in includes:
                match = re.search(e, oname)
                if match:
                    return True
        return False

    def exclude_name(oname):
        if exclude is not None:
            for e in excludes:
                match = re.search(e, oname)
                if match:
                    return False
        return True

    dir = os.getcwd()
    target_files = []
    for root, dirs, files in os.walk(dir, topdown=True):
        for name in files:
            if name[-3:] == ".py":
                if include_name(os.path.join(root, name)) and exclude_name(os.path.join(root, name)):
                    target_files.append(os.path.join(root, name))

    l = len(dir)
    target_files = [x[l + 1:] for x in target_files]

    for f in target_files:
        logger.info("will encrypt file : {}".format(f))
    return dir, target_files