Fixed a bug
This commit is contained in:
@@ -77,6 +77,9 @@ pip install jeb-utils --index-url https://jcloud-services.ddns.net/simple/ --ext
|
|||||||
- `create_file_if_not_exists`: Creates a file if it does not exist.
|
- `create_file_if_not_exists`: Creates a file if it does not exist.
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
### Version 0.1.4
|
||||||
|
- Bug fix: Due to a refactoring, `jeb_utils.jebp_utils.unpack_fields` did not work.
|
||||||
|
|
||||||
### Version 0.1.3
|
### Version 0.1.3
|
||||||
- Fatal bug fix: `jeb_utils.jeb_utils.validate_topic_name` has not returned `True` if the topic name is valid, it returned `None` (falsy). Now it returns `True` if the topic name is valid.
|
- Fatal bug fix: `jeb_utils.jeb_utils.validate_topic_name` has not returned `True` if the topic name is valid, it returned `None` (falsy). Now it returns `True` if the topic name is valid.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "jeb-utils"
|
name = "jeb-utils"
|
||||||
version = "0.1.3"
|
version = "0.1.4"
|
||||||
description = "Common utils for JEB client and server."
|
description = "Common utils for JEB client and server."
|
||||||
dependencies = ["cryptography"]
|
dependencies = ["cryptography"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
@@ -107,24 +107,24 @@ def pack_fields(*fields: bytes) -> bytes:
|
|||||||
result += field_length_length + field_length + field
|
result += field_length_length + field_length + field
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def unpack_fields(packed: bytes) -> Sequence[bytes]:
|
def unpack_fields(raw: bytes) -> Sequence[bytes]:
|
||||||
'''
|
'''
|
||||||
Unpacks the field from a bytestring.
|
Unpacks the field from a bytestring.
|
||||||
|
|
||||||
:param packed: The packed fields
|
:param raw: The packed fields
|
||||||
:type packed: bytes
|
:type raw: bytes
|
||||||
|
|
||||||
:return: The unpacked fields
|
:return: The unpacked fields
|
||||||
:rtype: Sequence[bytes]
|
:rtype: Sequence[bytes]
|
||||||
'''
|
'''
|
||||||
packed = []
|
packed = []
|
||||||
buffer = io.BytesIO(packed)
|
buffer = io.BytesIO(raw)
|
||||||
while buffer.tell() < len(packed):
|
while buffer.tell() < len(raw):
|
||||||
try:
|
try:
|
||||||
field_length_length = int.from_bytes(buffer.read(1))
|
field_length_length = int.from_bytes(buffer.read(1))
|
||||||
field_length = int.from_bytes(buffer.read(field_length_length))
|
field_length = int.from_bytes(buffer.read(field_length_length))
|
||||||
field = buffer.read(field_length)
|
field = buffer.read(field_length)
|
||||||
packed += (field,)
|
packed.append(field)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
return packed
|
return packed
|
||||||
Reference in New Issue
Block a user