Classes | |
class | UUID |
Functions | |
def | _ifconfig_getnode () |
def | _ipconfig_getnode () |
def | _netbios_getnode () |
def | _random_getnode () |
def | _unixdll_getnode () |
def | _windll_getnode () |
def | getnode () |
def | uuid1 (node=None, clock_seq=None) |
def | uuid3 (namespace, name) |
def | uuid4 () |
def | uuid5 (namespace, name) |
Variables | |
string | __author__ = 'Ka-Ping Yee <ping@zesty.ca>' |
string | __date__ = '$Date: 2007-07-20 15:38:13 $'.split()[1].replace('/', '-') |
string | __version__ = '$Revision: 1.1.2.1 $'.split()[1] |
_buffer = ctypes.create_string_buffer(16) | |
_node = None | |
_uuid_generate_random = None | |
_uuid_generate_time = lib.uuid_generate_time | |
_UuidCreate | |
lib = ctypes.CDLL(ctypes.util.find_library(libname)) | |
NAMESPACE_DNS = UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8') | |
NAMESPACE_OID = UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8') | |
NAMESPACE_URL = UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8') | |
NAMESPACE_X500 = UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8') | |
RESERVED_FUTURE | |
RESERVED_MICROSOFT | |
RESERVED_NCS | |
RFC_4122 | |
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.
|
private |
Get the hardware address on Unix by running ifconfig.
Definition at line 277 of file src/lib/coil/build/uuid.py.
|
private |
Get the hardware address on Windows by running ipconfig.exe.
Definition at line 291 of file src/lib/coil/build/uuid.py.
|
private |
Get the hardware address on Windows using NetBIOS calls. See http://support.microsoft.com/kb/118623 for details.
Definition at line 312 of file src/lib/coil/build/uuid.py.
|
private |
Get a random node ID, with eighth bit set as suggested by RFC 4122.
Definition at line 384 of file src/lib/coil/build/uuid.py.
|
private |
Get the hardware address on Unix using ctypes.
Definition at line 374 of file src/lib/coil/build/uuid.py.
|
private |
Get the hardware address on Windows using ctypes.
Definition at line 379 of file src/lib/coil/build/uuid.py.
def uuid.getnode | ( | ) |
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.
Definition at line 391 of file src/lib/coil/build/uuid.py.
def uuid.uuid1 | ( | node = None , |
|
clock_seq = None |
|||
) |
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.
Definition at line 415 of file src/lib/coil/build/uuid.py.
def uuid.uuid3 | ( | namespace, | |
name | |||
) |
Generate a UUID from the MD5 hash of a namespace UUID and a name.
Definition at line 445 of file src/lib/coil/build/uuid.py.
def uuid.uuid4 | ( | ) |
Generate a random UUID.
Definition at line 451 of file src/lib/coil/build/uuid.py.
def uuid.uuid5 | ( | namespace, | |
name | |||
) |
Generate a UUID from the SHA-1 hash of a namespace UUID and a name.
Definition at line 468 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 50 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 51 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 52 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 347 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 389 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 344 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 359 of file src/lib/coil/build/uuid.py.
|
private |
Definition at line 369 of file src/lib/coil/build/uuid.py.
uuid.lib = ctypes.CDLL(ctypes.util.find_library(libname)) |
Definition at line 353 of file src/lib/coil/build/uuid.py.
uuid.NAMESPACE_DNS = UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8') |
Definition at line 476 of file src/lib/coil/build/uuid.py.
uuid.NAMESPACE_OID = UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8') |
Definition at line 478 of file src/lib/coil/build/uuid.py.
uuid.NAMESPACE_URL = UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8') |
Definition at line 477 of file src/lib/coil/build/uuid.py.
uuid.NAMESPACE_X500 = UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8') |
Definition at line 479 of file src/lib/coil/build/uuid.py.
uuid.RESERVED_FUTURE |
Definition at line 54 of file src/lib/coil/build/uuid.py.
uuid.RESERVED_MICROSOFT |
Definition at line 54 of file src/lib/coil/build/uuid.py.
uuid.RESERVED_NCS |
Definition at line 54 of file src/lib/coil/build/uuid.py.
uuid.RFC_4122 |
Definition at line 54 of file src/lib/coil/build/uuid.py.