Passed
Push — master ( 4cb748...589c2a )
by P.R.
01:36
created

sdoc.sdoc2.node.SectionNode   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 42
Duplicated Lines 69.05 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
eloc 13
dl 29
loc 42
ccs 12
cts 12
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A SectionNode.__init__() 9 9 1
A SectionNode.get_command() 5 5 1
A SectionNode.get_hierarchy_level() 5 5 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1 1
from typing import Dict
2
3 1
from cleo.io.io import IO
4
5 1
from sdoc.sdoc2.node.HeadingNode import HeadingNode
6 1
from sdoc.sdoc2.NodeStore import NodeStore
7
8
9 1 View Code Duplication
class SectionNode(HeadingNode):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
10
    """
11
    SDoc2 node for sections.
12
    """
13
14
    # ------------------------------------------------------------------------------------------------------------------
15 1
    def __init__(self, io: IO, options: Dict[str, str], argument: str):
16
        """
17
        Object constructor.
18
19
        :param OutputStyle io: The IO object.
20
        :param dict[str,str] options: The options of this section.
21
        :param str argument: The title of this section.
22
        """
23 1
        super().__init__(io, 'section', options, argument)
24
25
    # ------------------------------------------------------------------------------------------------------------------
26 1
    def get_command(self) -> str:
27
        """
28
        Returns the command of this node, i.e. section.
29
        """
30 1
        return 'section'
31
32
    # ------------------------------------------------------------------------------------------------------------------
33 1
    def get_hierarchy_level(self, parent_hierarchy_level: int = -1) -> int:
34
        """
35
        Returns 2.
36
        """
37 1
        return 2
38
39
40
# ----------------------------------------------------------------------------------------------------------------------
41
NodeStore.register_inline_command('section', SectionNode)
42