Exemple #1
0
    def amend_bzparams(self, params, bug_ids):
        """Amend the Bugzilla params"""
        if not self.all_include_fields():
            if 'include_fields' in params:
                fields = params['include_fields']
                if isinstance(fields, list):
                    if 'id' not in fields:
                        fields.append('id')
                elif isinstance(fields, six.string_types):
                    if fields != 'id':
                        params['include_fields'] = [fields, 'id']
                else:
                    params['include_fields'] = [fields, 'id']
            else:
                params['include_fields'] = ['id']

            params['include_fields'] += ['summary', 'groups']

            if self.has_assignee(
            ) and 'assigned_to' not in params['include_fields']:
                params['include_fields'].append('assigned_to')

            if self.has_product_component():
                if 'product' not in params['include_fields']:
                    params['include_fields'].append('product')
                if 'component' not in params['include_fields']:
                    params['include_fields'].append('component')

            if self.has_needinfo() and 'flags' not in params['include_fields']:
                params['include_fields'].append('flags')

        if bug_ids:
            params['bug_id'] = bug_ids

        if self.filter_no_nag_keyword():
            n = utils.get_last_field_num(params)
            params.update({
                'f' + n: 'status_whiteboard',
                'o' + n: 'notsubstring',
                'v' + n: '[no-nag]',
            })

        if self.ignore_meta():
            n = utils.get_last_field_num(params)
            params.update({
                'f' + n: 'keywords',
                'o' + n: 'nowords',
                'v' + n: 'meta'
            })

        # Limit the checkers to X years. Unlimited if max_years = -1
        max_years = self.get_max_years()
        if max_years > 0:
            n = utils.get_last_field_num(params)
            today = lmdutils.get_date_ymd('today')
            few_years_ago = today - relativedelta(years=max_years)
            params.update({
                'f' + n: 'creation_ts',
                'o' + n: 'greaterthan',
                'v' + n: few_years_ago
            })

        if self.has_default_products():
            params['product'] = utils.get_config(self.name(), 'products')

        self.has_flags = 'flags' in params.get('include_fields', [])
Exemple #2
0
    def amend_bzparams(self, params, bug_ids):
        """Amend the Bugzilla params"""
        if not self.all_include_fields():
            if "include_fields" in params:
                fields = params["include_fields"]
                if isinstance(fields, list):
                    if "id" not in fields:
                        fields.append("id")
                elif isinstance(fields, six.string_types):
                    if fields != "id":
                        params["include_fields"] = [fields, "id"]
                else:
                    params["include_fields"] = [fields, "id"]
            else:
                params["include_fields"] = ["id"]

            params["include_fields"] += ["summary", "groups"]

            if self.has_assignee() and "assigned_to" not in params["include_fields"]:
                params["include_fields"].append("assigned_to")

            if self.has_product_component():
                if "product" not in params["include_fields"]:
                    params["include_fields"].append("product")
                if "component" not in params["include_fields"]:
                    params["include_fields"].append("component")

            if self.has_needinfo() and "flags" not in params["include_fields"]:
                params["include_fields"].append("flags")

        if bug_ids:
            params["bug_id"] = bug_ids

        if self.filter_no_nag_keyword():
            n = utils.get_last_field_num(params)
            params.update(
                {
                    "f" + n: "status_whiteboard",
                    "o" + n: "notsubstring",
                    "v" + n: "[no-nag]",
                }
            )

        if self.ignore_meta():
            n = utils.get_last_field_num(params)
            params.update({"f" + n: "keywords", "o" + n: "nowords", "v" + n: "meta"})

        # Limit the checkers to X years. Unlimited if max_years = -1
        max_years = self.get_max_years()
        if max_years > 0:
            n = utils.get_last_field_num(params)
            params.update(
                {
                    f"f{n}": "creation_ts",
                    f"o{n}": "greaterthan",
                    f"v{n}": f"-{max_years}y",
                }
            )

        if self.has_default_products():
            params["product"] = self.get_config("products") + self.get_config(
                "additional_products", []
            )

        if not self.has_access_to_sec_bugs():
            n = utils.get_last_field_num(params)
            params.update({"f" + n: "bug_group", "o" + n: "isempty"})

        self.has_flags = "flags" in params.get("include_fields", [])
    def amend_bzparams(self, params, bug_ids):
        """Amend the Bugzilla params"""
        if not self.all_include_fields():
            if 'include_fields' in params:
                fields = params['include_fields']
                if isinstance(fields, list):
                    if 'id' not in fields:
                        fields.append('id')
                elif isinstance(fields, six.string_types):
                    if fields != 'id':
                        params['include_fields'] = [fields, 'id']
                else:
                    params['include_fields'] = [fields, 'id']
            else:
                params['include_fields'] = ['id']

            params['include_fields'] += ['summary', 'groups']

            if self.has_assignee() and 'assigned_to' not in params['include_fields']:
                params['include_fields'].append('assigned_to')

            if self.has_product_component():
                if 'product' not in params['include_fields']:
                    params['include_fields'].append('product')
                if 'component' not in params['include_fields']:
                    params['include_fields'].append('component')

            if self.has_needinfo() and 'flags' not in params['include_fields']:
                params['include_fields'].append('flags')

        if bug_ids:
            params['bug_id'] = bug_ids

        if self.filter_no_nag_keyword():
            n = utils.get_last_field_num(params)
            params.update(
                {
                    'f' + n: 'status_whiteboard',
                    'o' + n: 'notsubstring',
                    'v' + n: '[no-nag]',
                }
            )

        if self.ignore_meta():
            n = utils.get_last_field_num(params)
            params.update({'f' + n: 'keywords', 'o' + n: 'nowords', 'v' + n: 'meta'})

        # Limit the checkers to X years. Unlimited if max_years = -1
        max_years = self.get_max_years()
        if max_years > 0:
            n = utils.get_last_field_num(params)
            today = lmdutils.get_date_ymd('today')
            few_years_ago = today - relativedelta(years=max_years)
            params.update(
                {'f' + n: 'creation_ts', 'o' + n: 'greaterthan', 'v' + n: few_years_ago}
            )

        if self.has_default_products():
            params['product'] = self.get_config('products')

        if not self.has_access_to_sec_bugs():
            n = utils.get_last_field_num(params)
            params.update({'f' + n: 'bug_group', 'o' + n: 'isempty'})

        self.has_flags = 'flags' in params.get('include_fields', [])