New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uuid.UUID.bytes gives a bytearray() instead of bytes #51629
Comments
I've tried some experiments with module uuid, and I meet some An interactive session is worth a thousand words: >>> import uuid
>>> uuid.UUID(bytes='\x12\x34\x56\x78'*4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.1/uuid.py", line 149, in __init__
assert isinstance(bytes, bytes_), repr(bytes)
AssertionError: '\x124Vx\x124Vx\x124Vx\x124Vx'
>>> uuid.UUID(bytes_le='\x78\x56\x34\x12\x34\x12\x78\x56' +
... '\x12\x34\x56\x78\x12\x34\x56\x78')
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "/usr/lib/python3.1/uuid.py", line 144, in __init__
bytes_(reversed(bytes_le[6:8])) +
TypeError: 'str' object cannot be interpreted as an integer
>>> Ok, the lines above are just parts of the documentation which need Here is the interactive session: >>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
>>> x.bytes
bytearray(b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f')
>>> x.bytes_le
b'\x03\x02\x01\x00\x05\x04\x07\x06\x08\t\n\x0b\x0c\r\x0e\x0f'
>>> Normally both attributes should get a "UUID as a 16-byte string", Finally, the docstring fails, too: ~ $ python3 -m doctest /usr/lib/python3.1/uuid.py
**********************************************************************
File "/usr/lib/python3.1/uuid.py", line 16, in uuid
Failed example:
uuid.uuid1()
Expected:
UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
Got:
UUID('e4bc8a38-d829-11de-9eee-0024e8bc58f0')
**********************************************************************
File "/usr/lib/python3.1/uuid.py", line 24, in uuid
Failed example:
uuid.uuid4()
Expected:
UUID('16fd2706-8baf-433b-82eb-8c7fada847da')
Got:
UUID('71588cf5-7a51-4d59-ad76-05fb6b932673')
**********************************************************************
File "/usr/lib/python3.1/uuid.py", line 39, in uuid
Failed example:
x.bytes
Expected:
b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
Got:
bytearray(b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f')
**********************************************************************
File "/usr/lib/python3.1/uuid.py", line 43, in uuid
Failed example:
uuid.UUID(bytes=x.bytes)
Exception raised:
Traceback (most recent call last):
File "/usr/lib/python3.1/doctest.py", line 1243, in __run
compileflags, 1), test.globs)
File "<doctest uuid[8]>", line 1, in <module>
uuid.UUID(bytes=x.bytes)
File "/usr/lib/python3.1/uuid.py", line 149, in __init__
assert isinstance(bytes, bytes_), repr(bytes)
AssertionError:
bytearray(b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f')
**********************************************************************
1 items had failures:
4 of 9 in uuid
***Test Failed*** 4 failures.
~ $ |
Attached patch gives coherence:
Then the documentation needs fixing, too. |
Patch with documentation included. (branches/py3k) |
Thanks, applied in r76895. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: