Skip to content

Commit 48a40f2

Browse files
committed
Implemented support for pickle
Closes #13
1 parent 41f4ece commit 48a40f2

File tree

6 files changed

+16
-1
lines changed

6 files changed

+16
-1
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"esbonio.sphinx.confDir": "${workspaceFolder}\\docs",
3-
"workbench.colorTheme": "Default Dark+"
3+
"workbench.colorTheme": "Default Dark Modern"
44
}

multiformats/cid/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,9 @@ def __new__(cls: Type[_CIDSubclass],
225225
return CID._new_instance(cls, base, version, codec, hashfun, digest)
226226
return CID._new_instance(cls, base, version, codec, hashfun, (hashfun, raw_digest))
227227

228+
def __getnewargs__(self) -> tuple[Multibase, CIDVersion, Multicodec, bytes]:
229+
return self.base, self.version, self.codec, self.digest
230+
228231
@staticmethod
229232
def _new_instance(CID_subclass: Type[_CIDSubclass],
230233
base: Multibase,

multiformats/multiaddr/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ def __new__(cls, codec: Union[str, int, Multicodec]) -> "Proto":
8686
_cache[codec.name] = instance
8787
return instance
8888

89+
def __getnewargs__(self) -> tuple[Multicodec]:
90+
return (self.codec,)
91+
8992
@property
9093
def name(self) -> str:
9194
"""

multiformats/multibase/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ def __new__(cls,
8989
instance._description = description
9090
return instance
9191

92+
def __getnewargs__(self) -> tuple[str, str, MultibaseStatus, str]:
93+
return (self.name, self.code, self.status, self.description)
94+
9295
@staticmethod
9396
def _validate_name(name: Optional[str]) -> str:
9497
validate(name, Optional[str])

multiformats/multicodec/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ def __new__(cls,
9696
instance._description = description
9797
return instance
9898

99+
def __getnewargs__(self) -> tuple[str, str, int, MulticodecStatus, str]:
100+
return (self.name, self.tag, self.code, self.status, self.description)
101+
99102
@staticmethod
100103
def _validate_name(name: str) -> str:
101104
if not re.match(r"^[a-z][a-z0-9_-]+$", name):

multiformats/multihash/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ def __new__(cls, codec: Union[str, int, Multicodec]) -> "Multihash":
8383
_cache[codec.name] = instance
8484
return instance
8585

86+
def __getnewargs__(self) -> tuple[Multicodec]:
87+
return (self.codec,)
88+
8689
@property
8790
def name(self) -> str:
8891
"""

0 commit comments

Comments
 (0)