1+ """Codec to load/save Message Pack (msgpack) documents."""
12import datetime
23import uuid
34from typing import TextIO
910 "odin.codecs.msgpack_codec requires the 'msgpack-python' package."
1011 ) # noqa
1112
12- from odin import bases , Resource
13+ from odin import bases
1314from odin import serializers , resources , ResourceAdapter
1415from odin .utils import getmeta
1516
2425
2526
2627class OdinPacker (msgpack .Packer ):
27- """
28- Encoder for Odin resources.
29- """
28+ """Encoder for Odin resources."""
3029
31- def __init__ (self , include_virtual_fields = True , * args , ** kwargs ):
30+ def __init__ (self , include_virtual_fields : bool = True , * args , ** kwargs ):
3231 kwargs .setdefault ("default" , self .default )
3332 super ().__init__ (* args , ** kwargs )
3433 self .include_virtual_fields = include_virtual_fields
@@ -45,9 +44,13 @@ def default(self, o):
4544 return TYPE_SERIALIZERS [o .__class__ ](o )
4645
4746
48- def load (fp , resource = None , full_clean = True , default_to_not_supplied = False ):
49- """
50- Load a from a MessagePack encoded file.
47+ def load (
48+ fp : TextIO ,
49+ resource : resources .ResourceBase = None ,
50+ full_clean : bool = True ,
51+ default_to_not_supplied : bool = False ,
52+ ):
53+ """Load a from a MessagePack encoded file.
5154
5255 See :py:meth:`loads` for more details of the loading operation.
5356
@@ -62,9 +65,13 @@ def load(fp, resource=None, full_clean=True, default_to_not_supplied=False):
6265 )
6366
6467
65- def loads (s , resource = None , full_clean = True , default_to_not_supplied = False ):
66- """
67- Load from a MessagePack encoded string/bytes.
68+ def loads (
69+ s : str ,
70+ resource : resources .ResourceBase = None ,
71+ full_clean : bool = True ,
72+ default_to_not_supplied : bool = False ,
73+ ):
74+ """Load from a MessagePack encoded string/bytes.
6875
6976 If a ``resource`` value is supplied it is used as the base resource for the supplied MessagePack data. I one is not
7077 supplied a resource type field ``$`` is used to obtain the type represented by the dictionary. A ``ValidationError``
@@ -83,14 +90,13 @@ def loads(s, resource=None, full_clean=True, default_to_not_supplied=False):
8390
8491
8592def dump (
86- resource , # type: Resource
87- fp , # type : TextIO,
93+ resource : resources . ResourceBase ,
94+ fp : TextIO ,
8895 cls = OdinPacker ,
89- include_virtual_fields = True , # type : bool
96+ include_virtual_fields : bool = True ,
9097 ** kwargs
9198):
92- """
93- Dump to a MessagePack encoded file.
99+ """Dump to a MessagePack encoded file.
94100
95101 :param include_virtual_fields:
96102 :param resource: The root resource to dump to a MessagePack encoded file.
@@ -101,13 +107,12 @@ def dump(
101107
102108
103109def dumps (
104- resource , # type: Resource
110+ resource : resources . ResourceBase ,
105111 cls = OdinPacker ,
106- include_virtual_fields = True , # type : bool
112+ include_virtual_fields : bool = True ,
107113 ** kwargs
108114):
109- """
110- Dump to a MessagePack encoded string.
115+ """Dump to a MessagePack encoded string.
111116
112117 :param include_virtual_fields:
113118 :param resource: The root resource to dump to a MessagePack encoded file.
0 commit comments