benedict.serializers.xml   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 15
dl 0
loc 26
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A XMLSerializer.encode() 0 3 1
A XMLSerializer.decode() 0 4 1
A XMLSerializer.__init__() 0 4 1
1
import xmltodict
2
3
from benedict.serializers.abstract import AbstractSerializer
4
5
6
class XMLSerializer(AbstractSerializer):
7
    """
8
    This class describes a xml serializer.
9
    """
10
11
    def __init__(self):
12
        super().__init__(
13
            extensions=[
14
                "xml",
15
            ],
16
        )
17
18
    def decode(self, s, **kwargs):
19
        kwargs.setdefault("dict_constructor", dict)
20
        data = xmltodict.parse(s, **kwargs)
21
        return data
22
23
    def encode(self, d, **kwargs):
24
        data = xmltodict.unparse(d, **kwargs)
25
        return data
26