old_contents: # -*- coding: utf-8 -*-
  #
  #   Debian Changes Bot
  #   Copyright (C) 2008 Chris Lamb <chris@chris-lamb.co.uk>
  #
  #   This program is free software: you can redistribute it and/or modify
  #   it under the terms of the GNU Affero General Public License as
  #   published by the Free Software Foundation, either version 3 of the
  #   License, or (at your option) any later version.
  #
  #   This program is distributed in the hope that it will be useful,
  #   but WITHOUT ANY WARRANTY; without even the implied warranty of
  #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #   GNU Affero General Public License for more details.
  #
  #   You should have received a copy of the GNU Affero General Public License
  #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  from DebianDevelChangesBot import Message
  
  class BugSubmittedMessage(Message):
      FIELDS = ('bug_number', 'package', 'by', 'title')
      OPTIONAL = ('severity', 'version')
  
      def format(self):
          msg = "Opened [bug]#%d[/bug] " % self.bug_number
  
          if self.severity in ('critical', 'grave', 'serious'):
              msg += "([severity]%s[reset]) " % self.severity
  
          msg += "in [package]%s[reset] " % self.package
  
          if self.version not in ('n/a'):
              msg += "([version]%s[reset]) " % self.version
  
          msg += u"by [by]%s[reset] «[title]%s[reset]». [url]http://bugs.debian.org/%d[/url]" % \
              (self.by, self.title, self.bug_number)
  
          return msg
  
new_contents: # -*- coding: utf-8 -*-
  #
  #   Debian Changes Bot
  #   Copyright (C) 2008 Chris Lamb <chris@chris-lamb.co.uk>
  #
  #   This program is free software: you can redistribute it and/or modify
  #   it under the terms of the GNU Affero General Public License as
  #   published by the Free Software Foundation, either version 3 of the
  #   License, or (at your option) any later version.
  #
  #   This program is distributed in the hope that it will be useful,
  #   but WITHOUT ANY WARRANTY; without even the implied warranty of
  #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #   GNU Affero General Public License for more details.
  #
  #   You should have received a copy of the GNU Affero General Public License
  #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  from DebianDevelChangesBot import Message
  
  class BugSubmittedMessage(Message):
      FIELDS = ('bug_number', 'package', 'by', 'title')
      OPTIONAL = ('severity', 'version')
  
      def format(self):
          msg = "Opened [bug]#%d[/bug] " % self.bug_number
  
          if self.severity in ('critical', 'grave', 'serious'):
              msg += "([severity]%s[reset]) " % self.severity
  
          msg += "in [package]%s[reset] " % self.package
  
          if self.version not in ('n/a',):
              msg += "([version]%s[reset]) " % self.version
  
          msg += u"by [by]%s[reset] «[title]%s[reset]». [url]http://bugs.debian.org/%d[/url]" % \
              (self.by, self.title, self.bug_number)
  
          return msg
  
subject: Fix (foo) != (foo,) bug