def parse(headers, body, **kwargs):
        if headers.get('List-Id',
                       '') != '<debian-bugs-closed.lists.debian.org>':
            return

        m = SUBJECT.match(headers['Subject'])
        if not m:
            return

        msg = BugClosedMessage()
        msg.bug_number = int(m.group(1))
        msg.title = m.group(2)
        msg.by = headers['To']

        # Bug was closed via [email protected], so To: is wrong.
        if '*****@*****.**' in msg.by:
            msg.by = headers['From']

        # Let binary package name override binary package
        msg.package = headers.get('X-Debian-PR-Source', None)
        msg.package = headers.get('X-Debian-PR-Package', msg.package)

        if msg.package is None:
            return

        msg.title = tidy_bug_title(msg.title, msg.package)
        msg.by = format_email_address(msg.by)

        return msg
    def parse(headers, body):
        if headers.get('List-Id', '') != '<debian-bugs-closed.lists.debian.org>':
            return

        msg = BugClosedMessage()

        m = SUBJECT.match(headers['Subject'])
        if m:
            msg.bug_number = int(m.group(1))
            msg.title = m.group(2)
        else:
            return

        msg.by = headers['To']

        # Bug was closed via [email protected], so To: is wrong.
        if '*****@*****.**' in msg.by:
            msg.by = headers['From']

        # Let binary package name override binary package
        msg.package = headers.get('X-Debian-PR-Source', None)
        msg.package = headers.get('X-Debian-PR-Package', msg.package)

        if msg.package is None:
            return

        msg.title = tidy_bug_title(msg.title, msg.package)
        msg.by = format_email_address(msg.by)

        return msg
예제 #3
0
    def parse(headers, body, **kwargs):
        if headers.get("List-Id", "") != "<debian-bugs-closed.lists.debian.org>":
            return

        m = SUBJECT.match(headers["Subject"])
        if not m:
            return

        msg = BugClosedMessage()
        msg.bug_number = int(m.group(1))
        msg.title = m.group(2)
        msg.by = headers["To"]

        # Bug was closed via [email protected], so To: is wrong.
        if "*****@*****.**" in msg.by:
            msg.by = headers["From"]

        # Let binary package name override source package
        msg.package = headers.get("X-Debian-PR-Source", None)
        msg.package = headers.get("X-Debian-PR-Package", msg.package)

        if msg.package is None:
            return

        msg.title = tidy_bug_title(msg.title, msg.package)
        msg.by = format_email_address(msg.by)

        return msg
    def parse(headers, body, **kwargs):
        if headers.get('List-Id', '') != '<debian-bugs-dist.lists.debian.org>':
            return

        msg = BugSubmittedMessage()

        m = SUBJECT.match(headers['Subject'])
        if m:
            msg.bug_number = int(m.group(1))
            msg.title = m.group(2)
        else:
            return

        if not headers.get('X-Debian-PR-Message', '').startswith('report '):
            return

        msg.package = headers.get('X-Debian-PR-Package', None)
        if len(msg.package) >= 75:
            return

        msg.by = format_email_address(headers['From'])

        mapping = {
            VERSION: 'version',
            SEVERITY: 'severity',
        }

        for line in body[:10]:
            for pattern, target in mapping.iteritems():
                m = pattern.match(line)
                if m:
                    val = m.group(1).lower()
                    setattr(msg, target, val)
                    del mapping[pattern]
                    break

            if len(mapping.keys()) == 0:
                break

        if type(msg.version) is str and msg.version.find('GnuPG') != -1:
            msg.version = None

        if not msg.package:
            return

        msg.title = tidy_bug_title(msg.title, msg.package)

        return msg
    def parse(headers, body):
        if headers.get('List-Id', '') != '<debian-bugs-dist.lists.debian.org>':
            return

        msg = BugSubmittedMessage()

        m = SUBJECT.match(headers['Subject'])
        if m:
            msg.bug_number = int(m.group(1))
            msg.title = m.group(2)
        else:
            return

        if not headers.get('X-Debian-PR-Message', '').startswith('report '):
            return

        msg.package = headers.get('X-Debian-PR-Package', None)
        if len(msg.package) >= 75:
            return

        msg.by = format_email_address(headers['From'])

        mapping = {
            VERSION: 'version',
            SEVERITY: 'severity',
        }

        for line in body[:10]:
            for pattern, target in mapping.iteritems():
                m = pattern.match(line)
                if m:
                    val = m.group(1).lower()
                    setattr(msg, target, val)
                    del mapping[pattern]
                    break

            if len(mapping.keys()) == 0:
                break

        if type(msg.version) is str and msg.version.find('GnuPG') != -1:
            msg.version = None

        if not msg.package:
            return

        msg.title = tidy_bug_title(msg.title, msg.package)

        return msg
    def parse(headers, body, **kwargs):
        if headers.get("List-Id", "") != "<debian-bugs-dist.lists.debian.org>":
            return
        if not headers.get("X-Debian-PR-Message", "").startswith("report "):
            return

        msg = BugSubmittedMessage()

        m = SUBJECT.match(headers["Subject"])
        if m is None:
            return

        msg.bug_number = int(m.group(1))
        msg.title = m.group(2)

        msg.package = headers.get("X-Debian-PR-Package", None)
        if msg.package is None or len(msg.package) >= 75:
            return

        msg.by = format_email_address(headers["From"])

        mapping = {"version": VERSION, "severity": SEVERITY}
        for line in body[:10]:
            for target, pattern in mapping.items():
                m = pattern.match(line)
                if m:
                    val = m.group(1).lower()
                    setattr(msg, target, val)
                    del mapping[target]
                    break

            if not mapping.keys():
                break

        if type(msg.version) is str and msg.version.find("GnuPG") != -1:
            msg.version = None

        if not msg.package:
            return

        msg.title = tidy_bug_title(msg.title, msg.package)

        return msg
 def _test(self, title, package, ret):
     self.assertEqual(tidy_bug_title(title, package), ret)
 def _test(self, title, package, ret):
     self.assertEqual(tidy_bug_title(title, package), ret)