Skip to content
Snippets Groups Projects
Commit b35ccec9 authored by Vincent Texier's avatar Vincent Texier
Browse files

issue #56 WIP - Fix bug in ws2p/heads document module

parent 007785a7
No related branches found
No related tags found
No related merge requests found
Pipeline #2646 passed
import attr
import re import re
import attr
from ..block import BlockUID from ..block import BlockUID
from ...constants import WS2P_PUBLIC_PREFIX_REGEX, WS2P_PRIVATE_PREFIX_REGEX,\ from ...constants import WS2P_PUBLIC_PREFIX_REGEX, WS2P_PRIVATE_PREFIX_REGEX, WS2P_HEAD_REGEX, \
PUBKEY_REGEX, SIGNATURE_REGEX, WS2PID_REGEX, BLOCK_UID_REGEX, ws2p_head_regex PUBKEY_REGEX, SIGNATURE_REGEX, WS2PID_REGEX, BLOCK_UID_REGEX
@attr.s() @attr.s()
class API: class API:
re_inline = re.compile("WS2P({ws2p_private})?({ws2p_public})?" re_inline = re.compile("WS2P({ws2p_private})?({ws2p_public})?".format(
.format(
ws2p_private=WS2P_PRIVATE_PREFIX_REGEX, ws2p_private=WS2P_PRIVATE_PREFIX_REGEX,
ws2p_public=WS2P_PUBLIC_PREFIX_REGEX)) ws2p_public=WS2P_PUBLIC_PREFIX_REGEX))
...@@ -37,7 +37,7 @@ class API: ...@@ -37,7 +37,7 @@ class API:
@attr.s() @attr.s()
class Head: class Head:
re_inline = re.compile(ws2p_head_regex) re_inline = re.compile(WS2P_HEAD_REGEX)
version = attr.ib(type=int) version = attr.ib(type=int)
...@@ -64,7 +64,7 @@ class HeadV0: ...@@ -64,7 +64,7 @@ class HeadV0:
re_inline = re.compile("^(WS2P(?:{ws2p_private})?(?:{ws2p_public})?):({head}):({pubkey}):({blockstamp})(?::)?(.*)" re_inline = re.compile("^(WS2P(?:{ws2p_private})?(?:{ws2p_public})?):({head}):({pubkey}):({blockstamp})(?::)?(.*)"
.format(ws2p_private=WS2P_PRIVATE_PREFIX_REGEX, .format(ws2p_private=WS2P_PRIVATE_PREFIX_REGEX,
ws2p_public=WS2P_PUBLIC_PREFIX_REGEX, ws2p_public=WS2P_PUBLIC_PREFIX_REGEX,
head=ws2p_head_regex, head=WS2P_HEAD_REGEX,
version="[0-9]+", version="[0-9]+",
pubkey=PUBKEY_REGEX, pubkey=PUBKEY_REGEX,
blockstamp=BLOCK_UID_REGEX)) blockstamp=BLOCK_UID_REGEX))
...@@ -96,9 +96,7 @@ class HeadV0: ...@@ -96,9 +96,7 @@ class HeadV0:
@attr.s() @attr.s()
class HeadV1: class HeadV1:
re_inline = re.compile("({ws2pid}):" \ re_inline = re.compile("({ws2pid}):({software}):({software_version}):({pow_prefix})(?::)?(.*)".format(
"({software}):({software_version}):({pow_prefix})(?::)?(.*)"
.format(
ws2pid=WS2PID_REGEX, ws2pid=WS2PID_REGEX,
software="[A-Za-z-_]+", software="[A-Za-z-_]+",
software_version="[0-9]+[.][0-9]+[.][0-9]+", software_version="[0-9]+[.][0-9]+[.][0-9]+",
...@@ -137,10 +135,10 @@ class HeadV1: ...@@ -137,10 +135,10 @@ class HeadV1:
def blockstamp(self): def blockstamp(self):
return self.v0.blockstamp return self.v0.blockstamp
@attr.s @attr.s
class HeadV2: class HeadV2:
re_inline = re.compile("({free_member_room}):({free_mirror_room})(?::)?(.*)" re_inline = re.compile("({free_member_room}):({free_mirror_room})(?::)?(.*)".format(
.format(
free_member_room="[0-9]+", free_member_room="[0-9]+",
free_mirror_room="[0-9]+")) free_mirror_room="[0-9]+"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment