Module ImportFrom alias ImportFrom alias alias Import alias Import alias FunctionDef arguments args NameParam defaults body Return ListComp Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad GeneratorExp Call AttributeLoad NameLoad attr NameLoad comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr Str Str attr If NameLoad body Assign NameStore Call NameLoad NameLoad For NameStore NameLoad body If Call NameLoad NameLoad NameLoad body Return NameLoad Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr If CompareIn NameLoad NameLoad body Return NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If UnaryOpNot Call NameLoad NameLoad NameLoad body Return NameLoad Assign NameStore SubscriptLoad NameLoad Index Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad Lambda arguments args NameParam defaults UnaryOpNot Call NameLoad NameLoad NameLoad NameLoad If CompareGt Call NameLoad NameLoad Num body Return Call NameLoad NameLoad NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Str Num If UnaryOpNot NameLoad body Return NameLoad Assign NameStore Call AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr CompareEq AttributeLoad NameLoad attr NameLoad CompareGtE AttributeLoad NameLoad attr BinOpSub Call AttributeLoad NameLoad attr Call NameLoad keyword NameLoad attr If CompareNotEq NameLoad Num body Return NameLoad Return NameLoad decorator_list
N/A changes.models Build datetime datetime timedelta N/A fnmatch N/A re _compile_patterns N/A N/A pattern_list N/A N/A N/A N/A N/A N/A re compile N/A N/A fnmatch translate p N/A p pattern_list N/A _match_file_patterns N/A N/A patterns fname N/A N/A N/A N/A any N/A N/A N/A pattern match fname N/A pattern patterns N/A _in_project_files_whitelist N/A N/A project_options files_changed N/A N/A N/A file_whitelist N/A filter bool N/A N/A N/A N/A project_options get build.file-whitelist splitlines N/A file_whitelist N/A N/A whitelist_patterns N/A _compile_patterns file_whitelist N/A filename files_changed N/A N/A N/A _match_file_patterns whitelist_patterns filename N/A N/A True N/A False N/A True N/A files_changed_should_trigger_project N/A N/A files_changed project project_options sha diff N/A None N/A N/A Given a list of changed files for a project at a given revision,
    determine if a build should be started.

    Right now, the file blacklist is taken from the in-repo config, while the
    file whitelist is taken from ProjectOption

    Args:
        files_changed (list(str)) - list of changed files
        project (changes.models.Project)
        project_options (dict) - project option with build.file-whitelist loaded
        sha (str) - The sha identifying the revision to look up the config from
        diff (str) - (optional) patch to apply before reading
                     config

    Returns:
        boolean - True if a build should be started.

    Raises:
        InvalidDiffError - When the supplied diff does not apply
        ProjectConfigError - When the config file is in an invalid format.
        NotImplementedError - When the project has no vcs backend
     N/A config_path N/A N/A project get_config_path N/A N/A config_path files_changed N/A N/A True N/A config N/A N/A project get_config sha diff config_path N/A N/A N/A _time_based_exclusion_filter config project N/A N/A False N/A blacklist N/A config N/A build.file-blacklist N/A blacklist_patterns N/A _compile_patterns blacklist N/A files_changed N/A filter N/A N/A N/A f N/A N/A N/A _match_file_patterns blacklist_patterns f files_changed N/A N/A N/A len files_changed 0 N/A N/A N/A _in_project_files_whitelist project_options files_changed N/A N/A False N/A _time_based_exclusion_filter N/A N/A project_options project N/A N/A N/A mins_between_builds N/A N/A project_options get build.minimum-minutes-between-builds 0 N/A N/A mins_between_builds N/A N/A True N/A builds_in_last_n_minutes N/A N/A N/A N/A N/A Build query filter N/A N/A Build project project N/A N/A Build date_created N/A N/A N/A datetime now N/A timedelta minutes mins_between_builds count N/A N/A builds_in_last_n_minutes 0 N/A N/A False N/A True N/A