Package elisa :: Package extern :: Package coherence :: Package uuid :: Module uuid
[hide private]
[frames] | no frames]

Module uuid

source code

UUID objects (universally unique identifiers) according to RFC 4122.

This module provides immutable UUID objects (class UUID) and the functions
uuid1(), uuid3(), uuid4(), uuid5() for generating version 1, 3, 4, and 5
UUIDs as specified in RFC 4122.

If all you want is a unique ID, you should probably call uuid1() or uuid4().
Note that uuid1() may compromise privacy since it creates a UUID containing
the computer's network address.  uuid4() creates a random UUID.

Typical usage:

    >>> import uuid

    # make a UUID based on the host ID and current time
    >>> uuid.uuid1()
    UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')

    # make a UUID using an MD5 hash of a namespace UUID and a name
    >>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
    UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')

    # make a random UUID
    >>> uuid.uuid4()
    UUID('16fd2706-8baf-433b-82eb-8c7fada847da')

    # make a UUID using a SHA-1 hash of a namespace UUID and a name
    >>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
    UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')

    # make a UUID from a string of hex digits (braces and hyphens ignored)
    >>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')

    # convert a UUID to a string of hex digits in standard form
    >>> str(x)
    '00010203-0405-0607-0809-0a0b0c0d0e0f'

    # get the raw 16 bytes of the UUID
    >>> x.bytes
    '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'

    # make a UUID from a 16-byte string
    >>> uuid.UUID(bytes=x.bytes)
    UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')

This module works with Python 2.3 or higher.




Version: 1.30

Date: 2006-06-12

Author: Ka-Ping Yee <ping@zesty.ca>

Classes [hide private]
  UUID
Instances of the UUID class represent UUIDs as specified in RFC 4122.
Functions [hide private]
 
_ifconfig_getnode()
Get the hardware address on Unix by running ifconfig.
source code
 
_ipconfig_getnode()
Get the hardware address on Windows by running ipconfig.exe.
source code
 
_netbios_getnode()
Get the hardware address on Windows using NetBIOS calls.
source code
 
_unixdll_getnode()
Get the hardware address on Unix using ctypes.
source code
 
_windll_getnode()
Get the hardware address on Windows using ctypes.
source code
 
_random_getnode()
Get a random node ID, with eighth bit set as suggested by RFC 4122.
source code
 
getnode()
Get the hardware address as a 48-bit integer.
source code
 
uuid1(node='frontend', clock_seq='frontend')
Generate a UUID from a host ID, sequence number, and the current time.
source code
 
uuid3(namespace, name)
Generate a UUID from the MD5 hash of a namespace UUID and a name.
source code
 
uuid4()
Generate a random UUID.
source code
 
uuid5(namespace, name)
Generate a UUID from the SHA-1 hash of a namespace UUID and a name.
source code
Variables [hide private]
  _uuid_generate_time = 'frontend'
  _uuid_generate_random = 'frontend'
  _buffer = ctypes.create_string_buffer(16)
  lib = 'frontend'
  _UuidCreate = 'frontend'
  _node = 'frontend'
  NAMESPACE_DNS = UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8')
  NAMESPACE_URL = UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8')
  NAMESPACE_OID = UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8')
  NAMESPACE_X500 = UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8')
  RESERVED_FUTURE = 'reserved for future definition'
  RESERVED_MICROSOFT = 'reserved for Microsoft compatibility'
  RESERVED_NCS = 'reserved for NCS compatibility'
  RFC_4122 = 'specified in RFC 4122'
  libname = 'c'
Function Details [hide private]

_netbios_getnode()

source code 
Get the hardware address on Windows using NetBIOS calls. See http://support.microsoft.com/kb/118623 for details.

getnode()

source code 
Get the hardware address as a 48-bit integer. The first time this runs, it may launch a separate program, which could be quite slow. If all attempts to obtain the hardware address fail, we choose a random 48-bit number with its eighth bit set to 1 as recommended in RFC 4122.

uuid1(node='frontend', clock_seq='frontend')

source code 
Generate a UUID from a host ID, sequence number, and the current time. If 'node' is not given, getnode() is used to obtain the hardware address. If 'clock_seq' is given, it is used as the sequence number; otherwise a random 14-bit sequence number is chosen.