コード例 #1
0
 def _insert_changelog_entry(self, message):
     """Insert changelog entry."""
     if self.data['history_file'] is None:
         return
     insert = self.data['history_insert_line_here']
     # Hopefully the inserted data matches the existing encoding.
     orig_encoding = self.data['history_encoding']
     try:
         message.encode(orig_encoding)
     except UnicodeEncodeError:
         logger.warning(
             'Changelog entry does not have the same encoding (%s) as '
             'the existing file. This might give problems.', orig_encoding
         )
         config = self.setup_cfg.config
         fallback_encodings = []
         if config.has_option('zest.releaser', 'encoding'):
             encoding = config.get('zest.releaser', 'encoding')
             if encoding != orig_encoding:
                 fallback_encodings.append(encoding)
         encoding = 'utf-8'
         if encoding != orig_encoding:
             fallback_encodings.append(encoding)
         for encoding in fallback_encodings:
             try:
                 # Note: we do not change the message at this point,
                 # we only check if an encoding can work.
                 message.encode(encoding)
             except UnicodeEncodeError:
                 # Let's continue. There might be a chance that it works.
                 logger.warning(
                     'Changelog entry is also not %s. ', encoding)
             else:
                 logger.debug('Forcing new history_encoding %s', encoding)
                 self.data['history_encoding'] = encoding
                 break
         else:
             logger.warning(
                 'No correct encoding could be determined for writing. '
                 'This will probably fail in a moment.'
             )
     lines = []
     prefix = utils.get_list_item(self.data['history_lines'])
     for index, line in enumerate(message.splitlines()):
         if index == 0:
             line = '{} {}'.format(prefix, line)
         else:
             line = '{}  {}'.format(' ' * len(prefix), line)
         lines.append(line)
     lines.append('')
     self.data['history_lines'][insert:insert] = lines
コード例 #2
0
 def _insert_changelog_entry(self, message):
     """Insert changelog entry."""
     if self.data['history_file'] is None:
         return
     insert = self.data['history_insert_line_here']
     lines = []
     prefix = utils.get_list_item(self.data['history_lines'])
     for index, line in enumerate(message.splitlines()):
         if index == 0:
             line = '{} {}'.format(prefix, line)
         else:
             line = '{}  {}'.format(' ' * len(prefix), line)
         lines.append(line)
     lines.append('')
     self.data['history_lines'][insert:insert] = lines
コード例 #3
0
 def _insert_changelog_entry(self, message):
     """Insert changelog entry."""
     if self.data['history_file'] is None:
         return
     insert = self.data['history_insert_line_here']
     lines = []
     prefix = utils.get_list_item(self.data['history_lines'])
     for index, line in enumerate(message.splitlines()):
         if index == 0:
             line = '{} {}'.format(prefix, line)
         else:
             line = '{}  {}'.format(' ' * len(prefix), line)
         lines.append(line)
     lines.append('')
     self.data['history_lines'][insert:insert] = lines