parameters: ()
return_statement: return _cache
docstring: Should return 127.0.0.1 in ipv4 and ::1 in ipv6
  
      localhost is not used because on windows vista/windows 7, there can be issues where the resolving doesn't work
      properly and takes a lot of time (had this issue on the pyunit server).
  
      Using the IP directly solves the problem.
docstring_summary: Should return 127.0.0.1 in ipv4 and ::1 in ipv6
docstring_tokens: Should return 127 . 0 . 0 . 1 in ipv4 and :: 1 in ipv6
function: def get_localhost():
      '''
      Should return 127.0.0.1 in ipv4 and ::1 in ipv6
  
      localhost is not used because on windows vista/windows 7, there can be issues where the resolving doesn't work
      properly and takes a lot of time (had this issue on the pyunit server).
  
      Using the IP directly solves the problem.
      '''
      # TODO: Needs better investigation!
  
      global _cache
      if _cache is None:
          try:
              for addr_info in socket.getaddrinfo("localhost", 80, 0, 0, socket.SOL_TCP):
                  config = addr_info[4]
                  if config[0] == '127.0.0.1':
                      _cache = '127.0.0.1'
                      return _cache
          except:
              # Ok, some versions of Python don't have getaddrinfo or SOL_TCP... Just consider it 127.0.0.1 in this case.
              _cache = '127.0.0.1'
          else:
              _cache = 'localhost'
  
      return _cache
function_tokens: def get_localhost ( ) : # TODO: Needs better investigation! global _cache if _cache is None : try : for addr_info in socket . getaddrinfo ( "localhost" , 80 , 0 , 0 , socket . SOL_TCP ) : config = addr_info [ 4 ] if config [ 0 ] == '127.0.0.1' : _cache = '127.0.0.1' return _cache except : # Ok, some versions of Python don't have getaddrinfo or SOL_TCP... Just consider it 127.0.0.1 in this case. _cache = '127.0.0.1' else : _cache = 'localhost' return _cache