new_contents: # vim: tabstop=4 shiftwidth=4 softtabstop=4
  
  # Copyright 2011 OpenStack LLC.
  # All Rights Reserved.
  #
  #    Licensed under the Apache License, Version 2.0 (the "License"); you may
  #    not use this file except in compliance with the License. You may obtain
  #    a copy of the License at
  #
  #         http://www.apache.org/licenses/LICENSE-2.0
  #
  #    Unless required by applicable law or agreed to in writing, software
  #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  #    License for the specific language governing permissions and limitations
  #    under the License.
  
  """
  Utilities with minimum-depends for use in setup.py
  """
  
  import os
  import re
  import subprocess
  
  
  def parse_mailmap(mailmap='.mailmap'):
      mapping = {}
      if os.path.exists(mailmap):
          fp = open(mailmap, 'r')
          for l in fp:
              l = l.strip()
              if not l.startswith('#') and ' ' in l:
                  canonical_email, alias = l.split(' ')
                  mapping[alias] = canonical_email
      return mapping
  
  
  def str_dict_replace(s, mapping):
      for s1, s2 in mapping.iteritems():
          s = s.replace(s1, s2)
      return s
  
subject: Split functions to avoid eventlet import.