parameters: ()
return_statement: return "%s-%s-%s" % (osname, release, machine)
docstring: Return a string that identifies the current platform.  This is used
      mainly to distinguish platform-specific build directories and
      platform-specific built distributions.  Typically includes the OS name
      and version and the architecture (as supplied by 'os.uname()'),
      although the exact information included depends on the OS; eg. for IRIX
      the architecture isn't particularly important (IRIX only runs on SGI
      hardware), but for Linux the kernel version isn't particularly
      important.
  
      Examples of returned values:
         linux-i586
         linux-alpha (?)
         solaris-2.6-sun4u
         irix-5.3
         irix64-6.2
  
      Windows will return one of:
         win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
         win-ia64 (64bit Windows on Itanium)
         win32 (all others - specifically, sys.platform is returned)
  
      For other non-POSIX platforms, currently just returns 'sys.platform'.
docstring_summary: Return a string that identifies the current platform.  This is used
      mainly to distinguish platform-specific build directories and
      platform-specific built distributions.  Typically includes the OS name
      and version and the architecture (as supplied by 'os.uname()'),
      although the exact information included depends on the OS; eg. for IRIX
      the architecture isn't particularly important (IRIX only runs on SGI
      hardware), but for Linux the kernel version isn't particularly
      important.
docstring_tokens: Return a string that identifies the current platform . This is used mainly to distinguish platform - specific build directories and platform - specific built distributions . Typically includes the OS name and version and the architecture ( as supplied by os . uname () ) although the exact information included depends on the OS ; eg . for IRIX the architecture isn t particularly important ( IRIX only runs on SGI hardware ) but for Linux the kernel version isn t particularly important .
function: def get_platform ():
      """Return a string that identifies the current platform.  This is used
      mainly to distinguish platform-specific build directories and
      platform-specific built distributions.  Typically includes the OS name
      and version and the architecture (as supplied by 'os.uname()'),
      although the exact information included depends on the OS; eg. for IRIX
      the architecture isn't particularly important (IRIX only runs on SGI
      hardware), but for Linux the kernel version isn't particularly
      important.
  
      Examples of returned values:
         linux-i586
         linux-alpha (?)
         solaris-2.6-sun4u
         irix-5.3
         irix64-6.2
  
      Windows will return one of:
         win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
         win-ia64 (64bit Windows on Itanium)
         win32 (all others - specifically, sys.platform is returned)
  
      For other non-POSIX platforms, currently just returns 'sys.platform'.
      """
      if os.name == 'nt':
          # sniff sys.version for architecture.
          prefix = " bit ("
          i = string.find(sys.version, prefix)
          if i == -1:
              return sys.platform
          j = string.find(sys.version, ")", i)
          look = sys.version[i+len(prefix):j].lower()
          if look=='amd64':
              return 'win-amd64'
          if look=='itanium':
              return 'win-ia64'
          return sys.platform
  
      # Set for cross builds explicitly
      if "_PYTHON_HOST_PLATFORM" in os.environ:
          return os.environ["_PYTHON_HOST_PLATFORM"]
  
      if os.name != "posix" or not hasattr(os, 'uname'):
          # XXX what about the architecture? NT is Intel or Alpha,
          # Mac OS is M68k or PPC, etc.
          return sys.platform
  
      # Try to distinguish various flavours of Unix
  
      (osname, host, release, version, machine) = os.uname()
  
      # Convert the OS name to lowercase, remove '/' characters
      # (to accommodate BSD/OS), and translate spaces (for "Power Macintosh")
      osname = string.lower(osname)
      osname = string.replace(osname, '/', '')
      machine = string.replace(machine, ' ', '_')
      machine = string.replace(machine, '/', '-')
  
      if osname[:5] == "linux":
          # At least on Linux/Intel, 'machine' is the processor --
          # i386, etc.
          # XXX what about Alpha, SPARC, etc?
          return  "%s-%s" % (osname, machine)
      elif osname[:5] == "sunos":
          if release[0] >= "5":           # SunOS 5 == Solaris 2
              osname = "solaris"
              release = "%d.%s" % (int(release[0]) - 3, release[2:])
              # We can't use "platform.architecture()[0]" because a
              # bootstrap problem. We use a dict to get an error
              # if some suspicious happens.
              bitness = {2147483647:"32bit", 9223372036854775807:"64bit"}
              machine += ".%s" % bitness[sys.maxint]
          # fall through to standard osname-release-machine representation
      elif osname[:4] == "irix":              # could be "irix64"!
          return "%s-%s" % (osname, release)
      elif osname[:3] == "aix":
          return "%s-%s.%s" % (osname, version, release)
      elif osname[:6] == "cygwin":
          osname = "cygwin"
          rel_re = re.compile (r'[\d.]+')
          m = rel_re.match(release)
          if m:
              release = m.group()
      elif osname[:6] == "darwin":
          import _osx_support, distutils.sysconfig
          osname, release, machine = _osx_support.get_platform_osx(
                                          distutils.sysconfig.get_config_vars(),
                                          osname, release, machine)
  
      return "%s-%s-%s" % (osname, release, machine)
function_tokens: def get_platform ( ) : if os . name == 'nt' : # sniff sys.version for architecture. prefix = " bit (" i = string . find ( sys . version , prefix ) if i == - 1 : return sys . platform j = string . find ( sys . version , ")" , i ) look = sys . version [ i + len ( prefix ) : j ] . lower ( ) if look == 'amd64' : return 'win-amd64' if look == 'itanium' : return 'win-ia64' return sys . platform # Set for cross builds explicitly if "_PYTHON_HOST_PLATFORM" in os . environ : return os . environ [ "_PYTHON_HOST_PLATFORM" ] if os . name != "posix" or not hasattr ( os , 'uname' ) : # XXX what about the architecture? NT is Intel or Alpha, # Mac OS is M68k or PPC, etc. return sys . platform # Try to distinguish various flavours of Unix ( osname , host , release , version , machine ) = os . uname ( ) # Convert the OS name to lowercase, remove '/' characters # (to accommodate BSD/OS), and translate spaces (for "Power Macintosh") osname = string . lower ( osname ) osname = string . replace ( osname , '/' , '' ) machine = string . replace ( machine , ' ' , '_' ) machine = string . replace ( machine , '/' , '-' ) if osname [ : 5 ] == "linux" : # At least on Linux/Intel, 'machine' is the processor -- # i386, etc. # XXX what about Alpha, SPARC, etc? return "%s-%s" % ( osname , machine ) elif osname [ : 5 ] == "sunos" : if release [ 0 ] >= "5" : # SunOS 5 == Solaris 2 osname = "solaris" release = "%d.%s" % ( int ( release [ 0 ] ) - 3 , release [ 2 : ] ) # We can't use "platform.architecture()[0]" because a # bootstrap problem. We use a dict to get an error # if some suspicious happens. bitness = { 2147483647 : "32bit" , 9223372036854775807 : "64bit" } machine += ".%s" % bitness [ sys . maxint ] # fall through to standard osname-release-machine representation elif osname [ : 4 ] == "irix" : # could be "irix64"! return "%s-%s" % ( osname , release ) elif osname [ : 3 ] == "aix" : return "%s-%s.%s" % ( osname , version , release ) elif osname [ : 6 ] == "cygwin" : osname = "cygwin" rel_re = re . compile ( r'[\d.]+' ) m = rel_re . match ( release ) if m : release = m . group ( ) elif osname [ : 6 ] == "darwin" : import _osx_support , distutils . sysconfig osname , release , machine = _osx_support . get_platform_osx ( distutils . sysconfig . get_config_vars ( ) , osname , release , machine ) return "%s-%s-%s" % ( osname , release , machine )