SYMBOL INDEX (706 symbols across 83 files) FILE: ansibullbot/_text_compat.py function to_bytes (line 50) | def to_bytes(obj, encoding='utf-8', errors=None, nonstring='simplerepr'): function to_text (line 167) | def to_text(obj, encoding='utf-8', errors=None, nonstring='simplerepr'): FILE: ansibullbot/ansibletriager.py class AnsibleActions (line 69) | class AnsibleActions(DefaultActions): method __init__ (line 70) | def __init__(self): class AnsibleTriager (line 78) | class AnsibleTriager(DefaultTriager): method __init__ (line 123) | def __init__(self, args=None): method load_botmeta (line 137) | def load_botmeta(self, gitrepo): method _should_skip_issue (line 146) | def _should_skip_issue(self, summary): method run (line 163) | def run(self): method save_meta (line 298) | def save_meta(self, issuewrapper, meta, actions): method dump_meta (line 353) | def dump_meta(self, issuewrapper, meta): method create_actions (line 364) | def create_actions(self, iw, actions, valid_labels): method post_actions_to_receiver (line 1146) | def post_actions_to_receiver(self, iw, actions, processed_meta): method process (line 1157) | def process(self, iw, valid_labels): method process_comment_commands (line 1354) | def process_comment_commands(self, issuewrapper, meta): method negate_command (line 1432) | def negate_command(self, command, commands): method execute_actions (line 1448) | def execute_actions(self, iw, actions): method create_parser (line 1489) | def create_parser(cls): FILE: ansibullbot/ci/azp.py class AzurePipelinesCI (line 37) | class AzurePipelinesCI(BaseCI): method __init__ (line 41) | def __init__(self, cachedir, iw): method build_id (line 70) | def build_id(self): method jobs (line 90) | def jobs(self): method state (line 145) | def state(self): method updated_at (line 149) | def updated_at(self): method stages (line 153) | def stages(self): method get_last_full_run_date (line 156) | def get_last_full_run_date(self): method artifacts (line 163) | def artifacts(self): method _get_artifact (line 198) | def _get_artifact(self, name, url): method get_test_results (line 239) | def get_test_results(self): method rebuild (line 277) | def rebuild(self, run_id, failed_only=False): method _rebuild_old (line 302) | def _rebuild_old(self): method rebuild_failed (line 345) | def rebuild_failed(self, run_id): method cancel (line 348) | def cancel(self, run_id): method cancel_on_branch (line 374) | def cancel_on_branch(self, branch): FILE: ansibullbot/ci/base.py class BaseCI (line 4) | class BaseCI(metaclass=ABCMeta): method state (line 12) | def state(self): method updated_at (line 21) | def updated_at(self): method get_last_full_run_date (line 29) | def get_last_full_run_date(self): method get_test_results (line 38) | def get_test_results(self): method rebuild (line 47) | def rebuild(self, run_id, failed_only=False): method rebuild_failed (line 55) | def rebuild_failed(self, run_id): method cancel (line 59) | def cancel(self, run_id): method cancel_on_branch (line 67) | def cancel_on_branch(self, branch): FILE: ansibullbot/constants.py function mk_boolean (line 36) | def mk_boolean(value): function unquote (line 43) | def unquote(value): function shell_expand (line 47) | def shell_expand(path, expand_relative_paths=False): function get_config (line 63) | def get_config(p, section, key, env_var, default, function _get_config (line 142) | def _get_config(p, section, key, env_var, default): function load_config_file (line 160) | def load_config_file(): function get_ansibullbot_version (line 456) | def get_ansibullbot_version(): FILE: ansibullbot/defaulttriager.py class DefaultActions (line 51) | class DefaultActions: method __init__ (line 52) | def __init__(self): method count (line 61) | def count(self): function render_boilerplate (line 74) | def render_boilerplate(tvars: t.Dict[str, t.Any], boilerplate: str) -> str: class DefaultTriager (line 78) | class DefaultTriager: method __init__ (line 94) | def __init__(self, args=None): method maintainer_team (line 130) | def maintainer_team(self): method create_parser (line 142) | def create_parser(cls): method start (line 167) | def start(self): method run (line 181) | def run(self): method apply_actions (line 184) | def apply_actions(self, iw, actions): method execute_actions (line 226) | def execute_actions(self, iw, actions): method dump_action_dict (line 259) | def dump_action_dict(self, issue, actions): method get_resume (line 270) | def get_resume(self): method set_resume (line 285) | def set_resume(self, repo, number): method eval_pr_param (line 297) | def eval_pr_param(self, pr): method load_meta (line 339) | def load_meta(self, reponame: str, number: str) -> t.Dict[str, t.Any]: method get_stale_numbers (line 358) | def get_stale_numbers(self, reponame: str, issue_summaries: t.Dict[str... method _collect_repo (line 382) | def _collect_repo(self, repo, issuenums=None): method collect_repos (line 529) | def collect_repos(self): FILE: ansibullbot/exceptions.py class LabelWafflingError (line 1) | class LabelWafflingError(Exception): class RateLimitError (line 5) | class RateLimitError(Exception): class NoCIError (line 9) | class NoCIError(Exception): FILE: ansibullbot/ghapiwrapper.py class GithubWrapper (line 26) | class GithubWrapper: method __init__ (line 27) | def __init__(self, url=None, user=None, passw=None, token=None, cached... method _connect (line 34) | def _connect(self, url, user, passw, token): method get_request (line 46) | def get_request(self, url): class RepoWrapper (line 73) | class RepoWrapper: method __init__ (line 74) | def __init__(self, gh, repo_path, cachedir='~/.ansibullbot/cache'): method has_in_assignees (line 82) | def has_in_assignees(self, login): method get_repo (line 87) | def get_repo(self, repo_path): method get_issue (line 93) | def get_issue(self, number): method get_pullrequest (line 112) | def get_pullrequest(self, number): method is_pr_merged (line 116) | def is_pr_merged(self, number): method labels (line 124) | def labels(self): method assignees (line 130) | def assignees(self): method get_issues (line 135) | def get_issues(self, since=None): method load_issue (line 141) | def load_issue(self, number): method save_issue (line 161) | def save_issue(self, issue): method load_update_fetch (line 179) | def load_update_fetch(self, property_name): method get_file_contents (line 228) | def get_file_contents(self, filepath): FILE: ansibullbot/historywrapper.py class HistoryWrapper (line 12) | class HistoryWrapper: method __init__ (line 22) | def __init__(self, events, labels, last_updated, usecache=True, cached... method validate_cache (line 45) | def validate_cache(self, cache): method _load_cache (line 80) | def _load_cache(self): method _dump_cache (line 96) | def _dump_cache(self): method merge_commits (line 117) | def merge_commits(self, commits): method merge_reviews (line 131) | def merge_reviews(self, reviews): method _find_events_by_actor (line 167) | def _find_events_by_actor(self, eventname, actor=None, maxcount=1): method get_user_comments (line 183) | def get_user_comments(self, username): method search_user_comments (line 193) | def search_user_comments(self, username, searchterm): method get_commands (line 203) | def get_commands(self, username, command_keys, timestamps=False, usela... method get_component_commands (line 252) | def get_component_commands(self, command_key='!component'): method was_assigned (line 271) | def was_assigned(self, username): method was_subscribed (line 276) | def was_subscribed(self, username): method last_notified (line 281) | def last_notified(self, username): method last_comment (line 300) | def last_comment(self, username): method label_last_applied (line 313) | def label_last_applied(self, label): method label_last_removed (line 323) | def label_last_removed(self, label): method was_labeled (line 333) | def was_labeled(self, label, bots=None): method was_unlabeled (line 349) | def was_unlabeled(self, label, bots=None): method get_boilerplate_comments (line 365) | def get_boilerplate_comments(self, dates=False, content=True): method get_boilerplate_comments_content (line 390) | def get_boilerplate_comments_content(self): method last_date_for_boilerplate (line 395) | def last_date_for_boilerplate(self, boiler): method last_commit_date (line 404) | def last_commit_date(self): method get_changed_labels (line 411) | def get_changed_labels(self, prefix=None, bots=None): method label_is_waffling (line 427) | def label_is_waffling(self, label, limit=20): method command_status (line 442) | def command_status(self, command): FILE: ansibullbot/issuewrapper.py class UnsetValue (line 34) | class UnsetValue: method __str__ (line 35) | def __str__(self): class IssueWrapper (line 39) | class IssueWrapper: method __init__ (line 40) | def __init__(self, github=None, repo=None, issue=None, cachedir=None, ... method url (line 67) | def url(self): method comments (line 71) | def comments(self): method events (line 75) | def events(self): method _parse_events (line 81) | def _parse_events(self, events): method _get_timeline (line 148) | def _get_timeline(self): method load_update_fetch_files (line 200) | def load_update_fetch_files(self): method get_labels (line 246) | def get_labels(self): method template_data (line 254) | def template_data(self): method add_label (line 260) | def add_label(self, label=None): method remove_label (line 265) | def remove_label(self, label=None): method add_comment (line 270) | def add_comment(self, comment=None): method remove_comment_by_id (line 275) | def remove_comment_by_id(self, commentid): method assignees (line 302) | def assignees(self): method is_pullrequest (line 307) | def is_pullrequest(self): method is_issue (line 310) | def is_issue(self): method age (line 314) | def age(self): method title (line 321) | def title(self): method repo_full_name (line 325) | def repo_full_name(self): method html_url (line 342) | def html_url(self): method created_at (line 346) | def created_at(self): method updated_at (line 350) | def updated_at(self): method updated_at (line 363) | def updated_at(self, value): method closed_at (line 367) | def closed_at(self): method merged_at (line 371) | def merged_at(self): method state (line 375) | def state(self): method github_type (line 379) | def github_type(self): method number (line 386) | def number(self): method submitter (line 390) | def submitter(self): method pullrequest (line 401) | def pullrequest(self): method update_pullrequest (line 407) | def update_pullrequest(self): method pullrequest_check_runs (line 417) | def pullrequest_check_runs(self): method pullrequest_raw_data (line 425) | def pullrequest_raw_data(self): method pr_files (line 432) | def pr_files(self): method files (line 438) | def files(self): method new_files (line 444) | def new_files(self): method new_modules (line 450) | def new_modules(self): method body (line 467) | def body(self): method labels (line 471) | def labels(self): method reviews (line 477) | def reviews(self): method history (line 490) | def history(self): method commits (line 501) | def commits(self): method mergeable (line 509) | def mergeable(self): method mergeable_state (line 513) | def mergeable_state(self): method wip (line 538) | def wip(self): method incoming_repo_exists (line 546) | def incoming_repo_exists(self): method incoming_repo_slug (line 550) | def incoming_repo_slug(self): method from_fork (line 557) | def from_fork(self): method get_commit_login (line 563) | def get_commit_login(self, commit): method merge_commits (line 571) | def merge_commits(self): method committer_emails (line 580) | def committer_emails(self): method committer_logins (line 588) | def committer_logins(self): method merge (line 595) | def merge(self): method renamed_files (line 623) | def renamed_files(self): FILE: ansibullbot/plugins/backports.py function get_backport_facts (line 1) | def get_backport_facts(issuewrapper): FILE: ansibullbot/plugins/botstatus.py function get_bot_status_facts (line 1) | def get_bot_status_facts(issuewrapper, all_maintainers, maintainer_team=... FILE: ansibullbot/plugins/ci_rebuild.py function get_ci_facts (line 4) | def get_ci_facts(iw, ci): function get_rebuild_facts (line 18) | def get_rebuild_facts(iw, meta, force=False): function _get_last_command (line 52) | def _get_last_command(iw, command, username): function get_rebuild_merge_facts (line 67) | def get_rebuild_merge_facts(iw, meta, maintainer_team, ci): function get_rebuild_command_facts (line 115) | def get_rebuild_command_facts(iw, meta, ci): FILE: ansibullbot/plugins/collection_facts.py function get_collection_facts (line 4) | def get_collection_facts(iw, component_matcher, meta): FILE: ansibullbot/plugins/community_workgroups.py function get_community_workgroup_facts (line 1) | def get_community_workgroup_facts(issuewrapper, meta): FILE: ansibullbot/plugins/component_matching.py function get_component_match_facts (line 5) | def get_component_match_facts(iw, component_matcher, valid_labels): function reconcile_component_commands (line 189) | def reconcile_component_commands(iw, component_matcher, CM_MATCHES): function get_pr_quality_facts (line 241) | def get_pr_quality_facts(issuewrapper): FILE: ansibullbot/plugins/contributors.py function get_contributor_facts (line 4) | def get_contributor_facts(issuewrapper): FILE: ansibullbot/plugins/cross_references.py function get_cross_reference_facts (line 1) | def get_cross_reference_facts(issuewrapper): FILE: ansibullbot/plugins/deprecation.py function get_deprecation_facts (line 4) | def get_deprecation_facts(meta): FILE: ansibullbot/plugins/docs_info.py class ParsedFunc (line 18) | class ParsedFunc: class ParsedClass (line 27) | class ParsedClass: method find_function (line 36) | def find_function(self, lineno): class ParsedModule (line 43) | class ParsedModule: method find_class (line 52) | def find_class(self, lineno): class CommitFile (line 58) | class CommitFile: method __init__ (line 59) | def __init__(self, raw_data): method filename (line 63) | def filename(self): method status (line 67) | def status(self): method patch (line 71) | def patch(self): method raw_url (line 75) | def raw_url(self): method file_content (line 79) | def file_content(self): function _is_docs_path (line 85) | def _is_docs_path(filename): function _get_diff_info (line 92) | def _get_diff_info(diff_text): function _get_ast_info (line 140) | def _get_ast_info(content): function _is_diff_docs_only (line 214) | def _is_diff_docs_only(file_content, diff): function _is_docs_only (line 260) | def _is_docs_only(changed_file): function get_docs_facts (line 287) | def get_docs_facts(iw): FILE: ansibullbot/plugins/filament.py function get_filament_facts (line 1) | def get_filament_facts(issuewrapper, meta): FILE: ansibullbot/plugins/label_commands.py function get_label_command_facts (line 1) | def get_label_command_facts(iw, all_maintainers, maintainer_team=None, v... function get_waffling_overrides (line 66) | def get_waffling_overrides(iw, all_maintainers, maintainer_team=None): FILE: ansibullbot/plugins/needs_contributor.py function get_needs_contributor_facts (line 1) | def get_needs_contributor_facts(events, botnames=None): FILE: ansibullbot/plugins/needs_info.py function is_needsinfo (line 7) | def is_needsinfo(iw, botnames=None): function needs_info_template_facts (line 43) | def needs_info_template_facts(iw, meta): function needs_info_timeout_facts (line 89) | def needs_info_timeout_facts(history, meta): FILE: ansibullbot/plugins/needs_revision.py function get_needs_revision_facts (line 12) | def get_needs_revision_facts(iw, meta, ci, maintainer_team=None, botname... function _changes_requested_by (line 344) | def _changes_requested_by(user_reviews, shipits, last_commit, ready_for_... function _get_review_state (line 373) | def _get_review_state(reviews, submitter): function get_ci_run_facts (line 421) | def get_ci_run_facts(iw, meta, ci): FILE: ansibullbot/plugins/notifications.py function get_notification_facts (line 4) | def get_notification_facts(issuewrapper, meta, botmeta=None): FILE: ansibullbot/plugins/shipit.py function replace_ansible (line 6) | def replace_ansible(maintainers, ansible_members, bots=None): function is_approval (line 21) | def is_approval(body): function is_rebuild_merge (line 28) | def is_rebuild_merge(body): function get_automerge_facts (line 35) | def get_automerge_facts(issuewrapper, meta): function needs_community_review (line 136) | def needs_community_review(meta): function get_shipit_facts (line 174) | def get_shipit_facts(issuewrapper, inmeta, botmeta_files, maintainer_tea... function get_submitter_facts (line 435) | def get_submitter_facts(issuewrapper, meta, emails_cache, component_matc... FILE: ansibullbot/plugins/small_patch.py class CommitFile (line 10) | class CommitFile: method __init__ (line 11) | def __init__(self, raw_data): method filename (line 15) | def filename(self): method changes (line 19) | def changes(self): function get_small_patch_facts (line 23) | def get_small_patch_facts(iw): FILE: ansibullbot/plugins/spam.py function get_spam_facts (line 4) | def get_spam_facts(issuewrapper): FILE: ansibullbot/plugins/test_support_plugins.py function get_test_support_plugins_facts (line 11) | def get_test_support_plugins_facts(iw, component_matcher): FILE: ansibullbot/plugins/traceback.py function get_traceback_facts (line 7) | def get_traceback_facts(iw): FILE: ansibullbot/utils/botmetadata.py class NoAliasDumper (line 13) | class NoAliasDumper(yaml.Dumper): method ignore_aliases (line 14) | def ignore_aliases(self, data): function compute_file_children (line 18) | def compute_file_children(filenames): class BotMetadataParser (line 42) | class BotMetadataParser: method parse_yaml (line 45) | def parse_yaml(data): FILE: ansibullbot/utils/component_tools.py function make_prefixes (line 88) | def make_prefixes(filename): class AnsibleComponentMatcher (line 98) | class AnsibleComponentMatcher: method __init__ (line 187) | def __init__(self, gitrepo=None, botmeta=None, usecache=False, cachedi... method update (line 205) | def update(self, email_cache=None, botmeta=None): method get_module_meta (line 213) | def get_module_meta(self, checkoutdir, filename): method index_files (line 280) | def index_files(self): method cache_keywords (line 369) | def cache_keywords(self): method clean_body (line 377) | def clean_body(self, body, internal=False): method match (line 393) | def match(self, issuewrapper): method match_components (line 403) | def match_components(self, title, body, component, files=None): method search_ecosystem (line 481) | def search_ecosystem(self, component): method _match_component (line 502) | def _match_component(self, title, component): method search_by_module_name (line 593) | def search_by_module_name(self, component): method search_by_keywords (line 613) | def search_by_keywords(self, component, exact=True): method search_by_regex_urls (line 640) | def search_by_regex_urls(self, body): method search_by_regex_modules (line 683) | def search_by_regex_modules(self, body): method search_by_regex_module_globs (line 791) | def search_by_regex_module_globs(self, body): method search_by_regex_generic (line 867) | def search_by_regex_generic(self, body): method search_by_filepath (line 936) | def search_by_filepath(self, body, partial=False, context=None): method reduce_filepaths (line 1071) | def reduce_filepaths(self, matches): method include_modules_from_test_targets (line 1098) | def include_modules_from_test_targets(self, matches): method _filenames_to_keys (line 1117) | def _filenames_to_keys(self, filenames): method get_labels_for_files (line 1128) | def get_labels_for_files(self, files): method get_meta_for_file (line 1136) | def get_meta_for_file(self, filename): method find_module_match (line 1417) | def find_module_match(self, pattern, exact=False): method _find_module_match (line 1477) | def _find_module_match(self, pattern, exact=False): FILE: ansibullbot/utils/extractors.py function extract_template_sections (line 21) | def extract_template_sections(body, header=TEMPLATE_HEADER): function fuzzy_find_sections (line 43) | def fuzzy_find_sections(body, sections): function find_sections (line 136) | def find_sections(body): function extract_template_data (line 166) | def extract_template_data(body, issue_class='issue', sections=None): function clean_bad_characters (line 323) | def clean_bad_characters(raw_text, exclude=None): function remove_markdown_comments (line 350) | def remove_markdown_comments(rawtext): function extract_pr_number_from_comment (line 370) | def extract_pr_number_from_comment(rawtext): class ModuleExtractor (line 384) | class ModuleExtractor: method __init__ (line 391) | def __init__(self, filepath, filedata=None, email_cache=None): method filedata (line 397) | def filedata(self): method authors (line 407) | def authors(self): method docs (line 413) | def docs(self): method get_module_authors (line 445) | def get_module_authors(self): method extract_github_id (line 465) | def extract_github_id(self, author): function get_template_data (line 502) | def get_template_data(iw): FILE: ansibullbot/utils/feature_flags.py class FeatureFlags (line 7) | class FeatureFlags: method __init__ (line 8) | def __init__(self, config_obj): method is_enabled (line 11) | def is_enabled(self, feature): method is_disabled (line 14) | def is_disabled(self, feature): method flags (line 18) | def flags(self): method from_config (line 22) | def from_config(cls, config_path): FILE: ansibullbot/utils/galaxy.py class GalaxyQueryTool (line 64) | class GalaxyQueryTool: method __init__ (line 66) | def __init__(self, cachedir=None): method _get_cached_url (line 77) | def _get_cached_url(self, url, days=0): method search_galaxy (line 103) | def search_galaxy(self, component): method fuzzy_search_galaxy (line 176) | def fuzzy_search_galaxy(self, component): FILE: ansibullbot/utils/gh_gql_client.py class GithubGraphQLClient (line 136) | class GithubGraphQLClient: method __init__ (line 139) | def __init__(self, token, server=None): method get_members (line 149) | def get_members(self, org, team): method get_issue_summaries (line 160) | def get_issue_summaries(self, repo_url): method get_all_summaries (line 185) | def get_all_summaries(self, owner, repo): method get_summaries (line 224) | def get_summaries(self, owner, repo, otype='issues', last=None, first=... method get_summary (line 285) | def get_summary(self, repo_url, otype, number): method update_node (line 322) | def update_node(self, node, node_type, owner, repo): method get_usernames_from_filename_blame (line 344) | def get_usernames_from_filename_blame(self, owner, repo, branch, filep... method post_request (line 393) | def post_request(self, payload): FILE: ansibullbot/utils/git_tools.py class GitRepoWrapper (line 13) | class GitRepoWrapper: method __init__ (line 14) | def __init__(self, cachedir, repo, commit=None, rebase=True, context=N... method exists (line 40) | def exists(self, filename): method isgit (line 44) | def isgit(self): method isdir (line 47) | def isdir(self, filename): method files (line 55) | def files(self): method module_files (line 65) | def module_files(self): method create_checkout (line 68) | def create_checkout(self): method update (line 97) | def update(self, force=False): method update_checkout (line 105) | def update_checkout(self): method manage_checkout (line 146) | def manage_checkout(self): method get_files (line 158) | def get_files(self, force=False): method get_files_by_commit (line 183) | def get_files_by_commit(self, commit): method get_commits_by_email (line 195) | def get_commits_by_email(self, email): method get_last_rev_for_file (line 239) | def get_last_rev_for_file(self, filepath): method existed (line 253) | def existed(self, filepath): method get_file_content (line 264) | def get_file_content(self, filepath, follow=False): method find (line 293) | def find(self, pattern): method list_files_by_branch (line 304) | def list_files_by_branch(self, branch): FILE: ansibullbot/utils/github.py function get_rate_limit (line 26) | def get_rate_limit(): function get_reset_time (line 72) | def get_reset_time(): function RateLimited (line 96) | def RateLimited(fn): FILE: ansibullbot/utils/logs.py function set_logger (line 5) | def set_logger(debug=False, logfile=None): FILE: ansibullbot/utils/moduletools.py class Blame (line 22) | class Blame(Base): class Email (line 31) | class Email(Base): class ModuleIndexer (line 38) | class ModuleIndexer: method __init__ (line 62) | def __init__(self, commits=True, blames=True, botmeta=None, gh_client=... method update (line 93) | def update(self, botmeta=None): method get_ansible_modules (line 98) | def get_ansible_modules(self): method populate_modules (line 164) | def populate_modules(self, matches): method get_module_commits (line 215) | def get_module_commits(self): method last_commit_for_file (line 283) | def last_commit_for_file(self, filepath): method get_module_blames (line 294) | def get_module_blames(self): method set_maintainers (line 378) | def set_maintainers(self): method split_topics_from_path (line 453) | def split_topics_from_path(self, module_file): method set_module_imports (line 474) | def set_module_imports(self): method get_module_imports (line 481) | def get_module_imports(self, module_file): method all_maintainers (line 505) | def all_maintainers(self): method get_maintainers_for_namespace (line 511) | def get_maintainers_for_namespace(self, namespace): FILE: ansibullbot/utils/net_tools.py function fetch (line 18) | def fetch(url, verb='get', **kwargs): FILE: ansibullbot/utils/receiver_client.py function post_to_receiver (line 8) | def post_to_receiver(path, params, data): function get_receiver_summaries (line 38) | def get_receiver_summaries(username, reponame, state=None, number=None): function get_receiver_metadata (line 81) | def get_receiver_metadata(username, reponame, number=None, keys=None): FILE: ansibullbot/utils/sentry.py function initialize_sentry (line 5) | def initialize_sentry(): FILE: ansibullbot/utils/sqlite_utils.py class Blame (line 18) | class Blame(Base): class Email (line 27) | class Email(Base): class RateLimit (line 34) | class RateLimit(Base): class GithubApiRequest (line 45) | class GithubApiRequest(Base): class AnsibullbotDatabase (line 57) | class AnsibullbotDatabase: method __init__ (line 65) | def __init__(self, cachedir='/tmp'): method delete_db_file (line 87) | def delete_db_file(self): method create_tables (line 90) | def create_tables(self): method get_github_api_request_meta (line 105) | def get_github_api_request_meta(self, url, token=None): method set_github_api_request_meta (line 129) | def set_github_api_request_meta(self, url, headers, datafile, token=No... method set_rate_limit (line 157) | def set_rate_limit(self, username=None, token=None, rawjson=None): method get_rate_limit_remaining (line 180) | def get_rate_limit_remaining(self, username=None, token=None): method get_rate_limit_rawjson (line 203) | def get_rate_limit_rawjson(self, username=None, token=None): method get_rate_limit_query_counter (line 233) | def get_rate_limit_query_counter(self, username=None, token=None): method reset_rate_limit_query_counter (line 241) | def reset_rate_limit_query_counter(self, username=None, token=None): FILE: ansibullbot/utils/systemtools.py function run_command (line 6) | def run_command(cmd, cwd=None, env=None): FILE: ansibullbot/utils/timetools.py function strip_time_safely (line 7) | def strip_time_safely(tstring): FILE: ansibullbot/utils/version_tools.py function _is_valid_version (line 15) | def _is_valid_version(vstring): function get_version_major_minor (line 22) | def get_version_major_minor(vstring: str) -> str: class AnsibleVersionIndexer (line 29) | class AnsibleVersionIndexer: method __init__ (line 30) | def __init__(self, checkoutdir): method commits_by_date (line 37) | def commits_by_date(self) -> None: method _get_devel_version (line 45) | def _get_devel_version(self) -> str: method _get_valid_versions (line 55) | def _get_valid_versions(self) -> t.Dict[str, str]: method is_valid_version (line 75) | def is_valid_version(self, version: str) -> bool: method strip_ansible_version (line 85) | def strip_ansible_version(self, rawtext): method version_by_commit (line 233) | def version_by_commit(self, commithash: str) -> str: method version_by_date (line 267) | def version_by_date(self, dateobj) -> str: method version_by_issue (line 290) | def version_by_issue(self, iw) -> str: FILE: scripts/ansibot_actions.py function main (line 66) | def main(): FILE: scripts/ansibot_receiver.py function get_summary_numbers_for_repo (line 25) | def get_summary_numbers_for_repo(org, repo, collection_name=None): function get_summary_numbers_with_state_for_repo (line 42) | def get_summary_numbers_with_state_for_repo(org, repo, collection_name=N... function store_action (line 59) | def store_action(): function list_actions (line 80) | def list_actions(): function dedupe_summaries (line 108) | def dedupe_summaries(): function metadata (line 137) | def metadata(): function summaries (line 204) | def summaries(): function strip_line_json (line 317) | def strip_line_json(line): function logs (line 363) | def logs(issue=None): FILE: scripts/generate_issues_by_file.py function main (line 13) | def main(): FILE: scripts/slack-notice.py function get_config (line 14) | def get_config(args): function parse_args (line 29) | def parse_args(): function main (line 41) | def main(): FILE: tests/component/module_matching.py class TestModuleMatching (line 8) | class TestModuleMatching(unittest.TestCase): method test_module_matching (line 11) | def test_module_matching(self): FILE: tests/component/test_idempotence.py class TestIdempotence (line 13) | class TestIdempotence: method test_no_actions_on_second_run (line 16) | def test_no_actions_on_second_run(self, *args, **kwargs): FILE: tests/component/test_supershipit.py class TestSuperShipit (line 14) | class TestSuperShipit: method test_presupershipit (line 16) | def test_presupershipit(self): method test_supershipit (line 21) | def test_supershipit(self, *args, **kwargs): FILE: tests/fixtures/docs_info/files/lib_ansible_foo.py class Bar (line 13) | class Bar: method baz (line 16) | def baz(self): FILE: tests/manual/group_errors.py function get_matches (line 9) | def get_matches(errors, pattern): FILE: tests/manual/matching_test.py class IssueWrapperMock (line 31) | class IssueWrapperMock: method __init__ (line 32) | def __init__(self, meta): method is_issue (line 35) | def is_issue(self): method is_pullrequest (line 38) | def is_pullrequest(self): method html_url (line 42) | def html_url(self): method title (line 46) | def title(self): method body (line 50) | def body(self): method template_data (line 55) | def template_data(self): function extract_metafiles (line 59) | def extract_metafiles(): function clean_metafiles (line 72) | def clean_metafiles(filenames): function load_expected (line 77) | def load_expected(): function save_expected (line 84) | def save_expected(data): function load_match_map (line 90) | def load_match_map(): function save_match_map (line 96) | def save_match_map(data): function load_skip (line 101) | def load_skip(): function save_skip (line 108) | def save_skip(data): function set_logger (line 114) | def set_logger(): function main (line 126) | def main(): FILE: tests/unit/decorators/test_github.py class RequestsResponseMock (line 6) | class RequestsResponseMock: method __init__ (line 9) | def __init__(self, url): method json (line 12) | def json(self): function SleepMock (line 17) | def SleepMock(duration): function test_get_rate_limit (line 27) | def test_get_rate_limit(mock_requests_get): FILE: tests/unit/parsers/test_bot_metadata_parser.py class TestBotMetaIndexerBase (line 72) | class TestBotMetaIndexerBase(unittest.TestCase): method setUp (line 73) | def setUp(self): class TestBotMetadataParserProperties (line 80) | class TestBotMetadataParserProperties(TestBotMetaIndexerBase): method runTest (line 81) | def runTest(self): class TestBotMetadataParserEx1 (line 85) | class TestBotMetadataParserEx1(TestBotMetaIndexerBase): method runTest (line 86) | def runTest(self): class TestBotMetadataParserFileExample1 (line 124) | class TestBotMetadataParserFileExample1(TestBotMetaIndexerBase): method runTest (line 125) | def runTest(self): class TestBotMetadataPropagation (line 134) | class TestBotMetadataPropagation(TestBotMetaIndexerBase): method test_keywords (line 139) | def test_keywords(self): class TestBotMetadataParserAnchors (line 242) | class TestBotMetadataParserAnchors(TestBotMetaIndexerBase): method runTest (line 243) | def runTest(self): FILE: tests/unit/triagers/plugins/test_automerge.py class HistoryWrapperMock (line 6) | class HistoryWrapperMock: method __init__ (line 8) | def __init__(self): class IssueWrapperMock (line 12) | class IssueWrapperMock: method __init__ (line 19) | def __init__(self, org, repo, number): method is_pullrequest (line 25) | def is_pullrequest(self): method add_comment (line 28) | def add_comment(self, user, body): method add_file (line 32) | def add_file(self, filename, content): method wip (line 37) | def wip(self): method files (line 41) | def files(self): method history (line 45) | def history(self): method submitter (line 49) | def submitter(self): method html_url (line 53) | def html_url(self): class MockFile (line 60) | class MockFile: method __init__ (line 61) | def __init__(self, name, content=''): class TestAutomergeFacts (line 66) | class TestAutomergeFacts(unittest.TestCase): method test_automerge_if_shipit (line 68) | def test_automerge_if_shipit(self): method test_not_automerge_if_not_shipit (line 103) | def test_not_automerge_if_not_shipit(self): FILE: tests/unit/triagers/plugins/test_docs_info.py function datafile_id (line 39) | def datafile_id(datafile): function iw_fixture (line 43) | def iw_fixture(request): function test_docs_facts (line 50) | def test_docs_facts(iw_fixture): FILE: tests/unit/triagers/plugins/test_needs_contributor.py function test_needs_contributor_command (line 4) | def test_needs_contributor_command(): function test_not_needs_contributor_command (line 14) | def test_not_needs_contributor_command(): function test_waiting_on_contributor_label (line 23) | def test_waiting_on_contributor_label(): FILE: tests/unit/triagers/plugins/test_needs_info.py class TestNeedsInfoTimeoutFacts (line 11) | class TestNeedsInfoTimeoutFacts(unittest.TestCase): method setUp (line 12) | def setUp(self): method test_warn (line 25) | def test_warn(self): method test_close (line 36) | def test_close(self): method test_no_action (line 55) | def test_no_action(self): method test_close_1 (line 68) | def test_close_1(self): method test_too_quick_close (line 87) | def test_too_quick_close(self): method test_too_quick_close2 (line 106) | def test_too_quick_close2(self): method test_warn_template (line 143) | def test_warn_template(self): FILE: tests/unit/triagers/plugins/test_needs_revision.py class CIMock (line 12) | class CIMock: method __init__ (line 13) | def __init__(self): method get_last_full_run_date (line 16) | def get_last_full_run_date(*args, **kwargs): class TestNeedsRevisionFacts (line 20) | class TestNeedsRevisionFacts(TestCase): method setUp (line 22) | def setUp(self): method test_shipit_overrides_changes_requested_github_review (line 32) | def test_shipit_overrides_changes_requested_github_review(self): method test_shipit_removes_needs_revision (line 59) | def test_shipit_removes_needs_revision(self): method test_shipit_removes_needs_revision_multiple_users (line 85) | def test_shipit_removes_needs_revision_multiple_users(self): class TestReviewMethods (line 112) | class TestReviewMethods(TestCase): method test_reviews (line 113) | def test_reviews(self): method test_review_older_than_ready_for_review (line 158) | def test_review_older_than_ready_for_review(self): method test_ready_for_review_older_than_review (line 181) | def test_ready_for_review_older_than_review(self): method test_review_older_than_ready_for_review_PR_not_updated (line 204) | def test_review_older_than_ready_for_review_PR_not_updated(self): method make_time (line 229) | def make_time(data): FILE: tests/unit/triagers/plugins/test_notifications.py function meta (line 9) | def meta(): function statusfile (line 17) | def statusfile(): function iw (line 22) | def iw(meta, statusfile): function test_notify_authors (line 31) | def test_notify_authors(iw, meta): FILE: tests/unit/triagers/plugins/test_rebuild.py function test_rebuild_command (line 9) | def test_rebuild_command(): function test_rebuild_failed_command (line 28) | def test_rebuild_failed_command(): function test_rebuild_and_rebuild_failed_commands (line 47) | def test_rebuild_and_rebuild_failed_commands(): function test_rebuild_failed_and_rebuild_commands (line 66) | def test_rebuild_failed_and_rebuild_commands(): FILE: tests/unit/triagers/plugins/test_rebuild_merge.py function test0 (line 8) | def test0(): function test1 (line 27) | def test1(): function test2 (line 46) | def test2(): function test3 (line 64) | def test3(): FILE: tests/unit/triagers/plugins/test_shipit.py class ComponentMatcherMock (line 19) | class ComponentMatcherMock: method match (line 24) | def match(self, issuewrapper): class HistoryWrapperMock (line 28) | class HistoryWrapperMock: method __init__ (line 30) | def __init__(self): class IssueWrapperMock (line 34) | class IssueWrapperMock: method __init__ (line 42) | def __init__(self, org, repo, number): method is_pullrequest (line 48) | def is_pullrequest(self): method add_comment (line 51) | def add_comment(self, user, body): method add_file (line 55) | def add_file(self, filename, content): method wip (line 60) | def wip(self): method files (line 64) | def files(self): method history (line 68) | def history(self): method submitter (line 72) | def submitter(self): method html_url (line 76) | def html_url(self): class GitRepoWrapperMock (line 83) | class GitRepoWrapperMock: method existed (line 86) | def existed(self, filename): class MockFile (line 90) | class MockFile: method __init__ (line 91) | def __init__(self, name, content=''): class MockRepo (line 99) | class MockRepo: method __init__ (line 100) | def __init__(self, repo_path): method get_pullrequest (line 103) | def get_pullrequest(self, issueid): class GithubWrapperMock (line 107) | class GithubWrapperMock: method get_request (line 108) | def get_request(self, url): class TestSuperShipit (line 112) | class TestSuperShipit(unittest.TestCase): method test_supershipit_shipit_facts (line 114) | def test_supershipit_shipit_facts(self): method test_supershipit_shipit_on_all_files (line 137) | def test_supershipit_shipit_on_all_files(self): method test_supershipit_shipit_not_all_files (line 163) | def test_supershipit_shipit_not_all_files(self): method test_maintainer_is_not_supershipit (line 188) | def test_maintainer_is_not_supershipit(self): method test_core_is_not_supershipit (line 214) | def test_core_is_not_supershipit(self): method test_automerge_community_only (line 239) | def test_automerge_community_only(self): method test_supershipit_changelogs (line 274) | def test_supershipit_changelogs(self): method test_supershipit_deletion_from_sanity_ignore (line 304) | def test_supershipit_deletion_from_sanity_ignore(self): method test_supershipit_addition_to_sanity_ignore (line 337) | def test_supershipit_addition_to_sanity_ignore(self): class TestShipitRebuildMerge (line 369) | class TestShipitRebuildMerge(unittest.TestCase): method test_shipit_with_core_rebuild_merge (line 371) | def test_shipit_with_core_rebuild_merge(self): method test_shipit_with_noncore_rebuild_merge (line 401) | def test_shipit_with_noncore_rebuild_merge(self): class TestShipitFacts (line 432) | class TestShipitFacts(unittest.TestCase): method setUp (line 434) | def setUp(self): method test_submitter_is_maintainer (line 446) | def test_submitter_is_maintainer(self): method test_submitter_is_maintainer_team_and_maintainer (line 468) | def test_submitter_is_maintainer_team_and_maintainer(self): method needs_rebase_or_revision_prevent_shipit (line 491) | def needs_rebase_or_revision_prevent_shipit(self, meta): method test_needs_rebase_prevent_shipit (line 505) | def test_needs_rebase_prevent_shipit(self): method test_needs_revision_prevent_shipit (line 513) | def test_needs_revision_prevent_shipit(self): class TestIsApproval (line 522) | class TestIsApproval(unittest.TestCase): method test_is_approval (line 524) | def test_is_approval(self): class TestOwnerPR (line 544) | class TestOwnerPR(unittest.TestCase): method setUp (line 546) | def setUp(self): method test_owner_pr_submitter_is_maintainer_one_module_utils_file_updated (line 552) | def test_owner_pr_submitter_is_maintainer_one_module_utils_file_update... method test_owner_pr_submitter_is_maintainer_one_modules_file_updated (line 586) | def test_owner_pr_submitter_is_maintainer_one_modules_file_updated(self): method test_owner_pr_submitter_is_maintainer_new_module (line 619) | def test_owner_pr_submitter_is_maintainer_new_module(self): method test_owner_pr_submitter_is_not_maintainer_of_all_updated_files (line 650) | def test_owner_pr_submitter_is_not_maintainer_of_all_updated_files(self): method test_owner_pr_module_utils_and_modules_updated_submitter_maintainer_1 (line 700) | def test_owner_pr_module_utils_and_modules_updated_submitter_maintaine... method test_owner_pr_module_utils_and_modules_updated_submitter_maintainer_2 (line 750) | def test_owner_pr_module_utils_and_modules_updated_submitter_maintaine... method test_owner_pr_submitter_is_maintainer_one_module_file_updated_changelog (line 795) | def test_owner_pr_submitter_is_maintainer_one_module_file_updated_chan... class TestAutomergeFacts (line 833) | class TestAutomergeFacts(unittest.TestCase): method test_automerge_changelog_fragment (line 835) | def test_automerge_changelog_fragment(self): method test_automerge_deletion_from_ignore (line 869) | def test_automerge_deletion_from_ignore(self): method test_automerge_addition_to_ignore (line 902) | def test_automerge_addition_to_ignore(self): FILE: tests/unit/utils/test_component_tools.py class TestMakePrefixes (line 13) | class TestMakePrefixes(TestCase): method test_simple_path_is_split_correctly (line 15) | def test_simple_path_is_split_correctly(self): class GitShallowRepo (line 24) | class GitShallowRepo(GitRepoWrapper): method create_checkout (line 27) | def create_checkout(self): method update_checkout (line 34) | def update_checkout(self): class TestComponentMatcher (line 38) | class TestComponentMatcher(TestCase): method setUpClass (line 41) | def setUpClass(cls): method tearDownClass (line 50) | def tearDownClass(cls): method test_get_meta_for_file_wildcard (line 55) | def test_get_meta_for_file_wildcard(self): method test_get_meta_for_file_wildcard_multiple (line 69) | def test_get_meta_for_file_wildcard_multiple(self): method test_get_meta_for_file_pyfile (line 91) | def test_get_meta_for_file_pyfile(self): method test_get_meta_support_core_from_module (line 116) | def test_get_meta_support_core_from_module(self): method test_get_meta_support_core_filter_plugin (line 128) | def test_get_meta_support_core_filter_plugin(self): method test_get_meta_support_new_filter_plugin (line 144) | def test_get_meta_support_new_filter_plugin(self): method test_get_meta_for_file_powershell (line 161) | def test_get_meta_for_file_powershell(self): method test_reduce_filepaths (line 177) | def test_reduce_filepaths(self): method test_search_by_filepath (line 184) | def test_search_by_filepath(self): method test_search_by_filepath_with_context (line 303) | def test_search_by_filepath_with_context(self): method test_search_by_regex_module_globs (line 352) | def test_search_by_regex_module_globs(self): method test_search_by_keywords (line 383) | def test_search_by_keywords(self): method test_search_by_regex_modules (line 397) | def test_search_by_regex_modules(self): class TestComponentMatcherInheritance (line 482) | class TestComponentMatcherInheritance(TestCase): method setUpClass (line 485) | def setUpClass(cls): method tearDownClass (line 494) | def tearDownClass(cls): method test_get_meta_for_known_file (line 498) | def test_get_meta_for_known_file(self): method test_get_meta_for_unknown_extension (line 539) | def test_get_meta_for_unknown_extension(self): method test_get_meta_support_inheritance (line 580) | def test_get_meta_support_inheritance(self): FILE: tests/unit/utils/test_extractors_pr_number.py function test_extract_pr_number_from_comment (line 22) | def test_extract_pr_number_from_comment(test_input, expected): FILE: tests/unit/utils/test_githubid_extractor.py class TestGitHubIdExtractor (line 6) | class TestGitHubIdExtractor(unittest.TestCase): method test_extract (line 7) | def test_extract(self): method test_notfound (line 25) | def test_notfound(self): method test_extract_email (line 35) | def test_extract_email(self): FILE: tests/unit/utils/test_sqlite_tools.py function test_db_file_endswith_version (line 9) | def test_db_file_endswith_version(): function test_db_file_corrupted (line 22) | def test_db_file_corrupted(): function test_set_and_get_rate_limit (line 42) | def test_set_and_get_rate_limit(): FILE: tests/unit/utils/test_template_extractor.py class TestTemplateExtraction (line 5) | class TestTemplateExtraction(unittest.TestCase): method test_0 (line 6) | def test_0(self): method test_1 (line 25) | def test_1(self): method test_2 (line 48) | def test_2(self): method test_3 (line 72) | def test_3(self): method test_4 (line 96) | def test_4(self): method test_5 (line 127) | def test_5(self): FILE: tests/unit/utils/test_template_extractor_simple.py class TestTemplateExtractionSimple (line 5) | class TestTemplateExtractionSimple(unittest.TestCase): method test_generic_template_with_no_input_sections (line 7) | def test_generic_template_with_no_input_sections(self): FILE: tests/unit/utils/test_time_tools.py class TestTimeStrip (line 7) | class TestTimeStrip(TestCase): method test_strip_one (line 9) | def test_strip_one(self): method test_strip_two (line 16) | def test_strip_two(self): method test_strip_three (line 23) | def test_strip_three(self): method test_strip_four (line 30) | def test_strip_four(self): FILE: tests/unit/wrappers/test_history_wrapper.py function test_get_component_commands (line 9) | def test_get_component_commands(): function test_get_no_component_commands (line 31) | def test_get_no_component_commands(): function test_ignore_events_without_dates_on_last_methods (line 54) | def test_ignore_events_without_dates_on_last_methods(): FILE: tests/utils/componentmocks.py function get_timestamp (line 118) | def get_timestamp(): function get_custom_timestamp (line 122) | def get_custom_timestamp(months=-1, days=-1): function unquote (line 130) | def unquote(string): class IssueDatabase (line 145) | class IssueDatabase: method __init__ (line 155) | def __init__(self, cachedir): method load_cache (line 165) | def load_cache(self): method save_cache (line 178) | def save_cache(self): method get_url (line 189) | def get_url(self, url, method=None, headers=None, data=None): method merge_pull (line 442) | def merge_pull(self, org=None, repo=None, number=None, data=None, logi... method get_pull_statuses (line 474) | def get_pull_statuses(self, org, repo, sid): method shippable_response (line 494) | def shippable_response(self, url): method graphql_response (line 501) | def graphql_response(self, data): method _get_members (line 606) | def _get_members(self): method _get_teams (line 651) | def _get_teams(self): method _get_repo (line 676) | def _get_repo(self, repo): method _get_new_issue_id (line 697) | def _get_new_issue_id(self): method _get_new_event_id (line 704) | def _get_new_event_id(self): method _get_issue_index (line 712) | def _get_issue_index(self, org=None, repo=None, number=None, itype=None): method get_issue (line 728) | def get_issue(self, org=None, repo=None, number=None, itype=None): method get_issue_property (line 735) | def get_issue_property(self, property_name, org=None, repo=None, numbe... method get_raw_data (line 741) | def get_raw_data(self, issue, schema='issue'): method get_comment (line 838) | def get_comment(self, org=None, repo=None, commentid=None): method get_commits (line 849) | def get_commits(self, org=None, repo=None, number=None): method get_commit (line 854) | def get_commit(self, org=None, repo=None, chash=None): method get_git_commit (line 871) | def get_git_commit(self, org=None, repo=None, chash=None): method get_files (line 890) | def get_files(self, org=None, repo=None, number=None): method get_file_conent (line 895) | def get_file_conent(self, org=None, repo=None, filename=None): method set_issue_body (line 914) | def set_issue_body(self, body, org=None, repo=None, number=None): method set_issue_title (line 919) | def set_issue_title(self, title, org=None, repo=None, number=None): method add_reaction (line 924) | def add_reaction(self, reaction, login=None, created_at=None, org=None... method add_issue_label (line 940) | def add_issue_label(self, label, login=None, created_at=None, org=None... method add_issue_comment (line 971) | def add_issue_comment(self, comment, login=None, created_at=None, org=... method remove_issue_label (line 1016) | def remove_issue_label(self, label, login=None, created_at=None, org=N... method add_cross_reference (line 1046) | def add_cross_reference(self, login=None, created_at=None, org=None, r... method add_issue_file (line 1075) | def add_issue_file( method _get_empty_stub (line 1115) | def _get_empty_stub(self): method add_issue (line 1137) | def add_issue( class MockRequests (line 1285) | class MockRequests: method __init__ (line 1287) | def __init__(self, issuedb): method get (line 1290) | def get(self, url, headers=None, data=None): method post (line 1293) | def post(self, url, headers=None, data=None): method Session (line 1296) | def Session(self): class MockRequestsSession (line 1301) | class MockRequestsSession: method __init__ (line 1302) | def __init__(self, issuedb): method get (line 1305) | def get(self, url, allow_redirects=False, data=None, headers=None, tim... method post (line 1308) | def post(self, url, allow_redirects=False, data=None, headers=None, ti... method delete (line 1311) | def delete(self, url, allow_redirects=False, data=None, headers=None, ... method put (line 1314) | def put(self, url, allow_redirects=False, data=None, headers=None, tim... class MockRequestsResponse (line 1319) | class MockRequestsResponse: method __init__ (line 1321) | def __init__(self, url, inheaders=None, indata=None, method='GET', iss... method ok (line 1337) | def ok(self): method text (line 1341) | def text(self): method headers (line 1350) | def headers(self): method status_code (line 1354) | def status_code(self): method json (line 1357) | def json(self): class BotMockManager (line 1361) | class BotMockManager: method __init__ (line 1369) | def __init__(self): method __enter__ (line 1375) | def __enter__(self): method __exit__ (line 1422) | def __exit__(self, type, value, traceback): FILE: tests/utils/helpers.py function get_issue (line 11) | def get_issue(datafile, statusfile): FILE: tests/utils/issue_mock.py class ActorMock (line 5) | class ActorMock: class CommitterMock (line 10) | class CommitterMock: method __init__ (line 11) | def __init__(self, date=None, login=None): class CommitBottomMock (line 16) | class CommitBottomMock: method __init__ (line 17) | def __init__(self, committer_date=None, committer_login=None, message=... class CommitMock (line 22) | class CommitMock: method __init__ (line 23) | def __init__(self, **kwargs): class CommitFileMock (line 30) | class CommitFileMock: method __init__ (line 31) | def __init__(self, filename="", status="", patch="", src_filepath=""): method raw_data (line 38) | def raw_data(self): method file_content (line 42) | def file_content(self): class LabelMock (line 47) | class LabelMock: class RequesterMock (line 51) | class RequesterMock: method requestJson (line 54) | def requestJson(self, method, url, headers=None): class IssueMock (line 58) | class IssueMock: method __init__ (line 61) | def __init__(self, datafile): method commits (line 67) | def commits(self): method comments (line 91) | def comments(self): method labels (line 95) | def labels(self): method load_data (line 113) | def load_data(self, datafile): method add_to_labels (line 155) | def add_to_labels(self, *labels): method create_comment (line 158) | def create_comment(self, body): method edit (line 161) | def edit(self, title=None, body=None, assignee=None, state=None, miles... method get_events (line 164) | def get_events(self): method get_labels (line 168) | def get_labels(self): method get_pullrequest (line 171) | def get_pullrequest(self): method remove_from_labels (line 174) | def remove_from_labels(self, label): method set_labels (line 177) | def set_labels(self, *labels): method is_pullrequest (line 180) | def is_pullrequest(self): method pr_files (line 184) | def pr_files(self): FILE: tests/utils/repo_mock.py class SubRepo (line 4) | class SubRepo: method __init__ (line 5) | def __init__(self, assignees=None): method has_in_assignees (line 8) | def has_in_assignees(self, user): class RepoMock (line 12) | class RepoMock: method __init__ (line 15) | def __init__(self, assignees=None): method get_issue (line 18) | def get_issue(self, issueid): method get_pullrequest (line 21) | def get_pullrequest(self, issueid): method get_issues (line 24) | def get_issues(self): method has_in_assignees (line 27) | def has_in_assignees(self, login): FILE: triage_ansible.py function handle_exception (line 27) | def handle_exception(exc_type, exc_value, exc_traceback): function main (line 37) | def main(): FILE: triage_ansible_mp.py function run_triage_worker (line 33) | def run_triage_worker(numbers): function grouper (line 54) | def grouper(n, iterable, padvalue=None): function main (line 58) | def main():