old_contents: import sys
  import collections
  
  from six.moves import UserDict
  try:
      from collections import OrderedDict
  except ImportError:
      from ordereddict import OrderedDict
  
  if sys.version_info[0] >= 3:
      from urllib.parse import urlparse
      from collections import UserDict, OrderedDict
  else:
      from urlparse import urlparse
      from UserDict import UserDict
      from ordereddict import OrderedDict
  
  # Users can pass in objects that subclass a few different objects
  # More specifically, rasterio has a CRS() class that subclasses UserDict()
  # In Python 2 UserDict() is in its own module and does not subclass Mapping()
  DICT_TYPES = (dict, collections.Mapping, UserDict)
      
  
new_contents: import sys
  import collections
  
  from six.moves import UserDict
  try:
      from collections import OrderedDict
  except ImportError:
      from ordereddict import OrderedDict
  
  if sys.version_info[0] >= 3:
      from urllib.parse import urlparse
      from collections import UserDict
  else:
      from urlparse import urlparse
      from UserDict import UserDict
  
  # Users can pass in objects that subclass a few different objects
  # More specifically, rasterio has a CRS() class that subclasses UserDict()
  # In Python 2 UserDict() is in its own module and does not subclass Mapping()
  DICT_TYPES = (dict, collections.Mapping, UserDict)
  
  
subject: fix OrderedDict import on py27