a
´i¼j ã @ sR d Z ddlZddlZddlmZ dZejdv r8d ZZn ddlZe ¡ Z
e
dkZe
dkZd ZdZerld
ZdZg d¢\Z
ZZZeZeZG d
d„ deƒZG dd„ dƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Z d%d&„ Z!d'd(„ Z"z*ddl#Z#e$e#d)dƒZ%e$e#d*dƒZ&e#j'Z(W n$ e)�yP dZ#dZ%dZ&dZ(Y n0 d+d,„ Z*d-d.„ Z+d/d0„ Z,d1d2„ Z-e�r‚eegZ.nFejd3k�ršeee gZ.n.ejd4k�r¬g Z.ne�rºe gZ.neeee egZ.ej/d5k�ràe+ge. Z0nej/d6k�røe,ge. Z0ne.Z0da1d7d8„ Z2da3dEd9d:„Z4d;d<„ Z5d=d>„ Z6d?d@„ Z7edAƒZ8edBƒZ9edCƒZ:edDƒZ;dS )FaQ 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() # doctest: +SKIP
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() # doctest: +SKIP
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
b'\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')
é N)ÚEnumzKa-Ping Yee