code: def camel_to_under(name):
      
      s1 = re.sub("(.)([A-Z][a-z]+)", r"\1_\2", name)
      return re.sub("([a-z0-9])([A-Z])", r"\1_\2", s1).lower()
docs: Converts camel-case string to lowercase string separated by underscores.
  
      Written by epost (http://stackoverflow.com/questions/1175208).
  
      :param name: String to be converted
      :return: new String with camel-case converted to lowercase, underscored