Code Duplication    Length = 31-31 lines in 2 locations

pyof/v0x04/common/utils.py 1 location

@@ 133-163 (lines=31) @@
130
131
    return message_instance
132
133
134
def new_message_from_header(header):
135
    """Given an OF Header, return an empty message of header's message_type.
136
137
    Args:
138
        header (:class:`~pyof.v0x04.common.header.Header`):
139
            Unpacked OpenFlow Header.
140
141
    Returns:
142
        Empty OpenFlow message of the same type of message_type attribute from
143
        the given header.
144
        The header attribute of the message will be populated.
145
146
    Raises:
147
        KytosUndefinedMessageType: Unkown Message_Type.
148
    """
149
    message_type = header.message_type
150
    if not isinstance(message_type, Type):
151
        try:
152
            if isinstance(message_type, str):
153
                # False positive https://github.com/PyCQA/pylint/issues/992
154
                # pylint: disable=E1136
155
                message_type = Type[message_type]
156
            elif isinstance(message_type, int):
157
                message_type = Type(message_type)
158
        except ValueError:
159
            raise ValueError
160
161
    message = new_message_from_message_type(message_type)
162
    message.header.xid = header.xid
163
    message.header.length = header.length
164
165
    return message
166

pyof/v0x01/common/utils.py 1 location

@@ 89-119 (lines=31) @@
86
87
    return message_instance
88
89
90
def new_message_from_header(header):
91
    """Given an OF Header, return an empty message of header's message_type.
92
93
    Args:
94
        header (~pyof.v0x01.common.header.Header): Unpacked OpenFlow Header.
95
96
    Returns:
97
        Empty OpenFlow message of the same type of message_type attribute from
98
        the given header.
99
        The header attribute of the message will be populated.
100
101
    Raises:
102
        KytosUndefinedMessageType: Unkown Message_Type.
103
    """
104
    message_type = header.message_type
105
    if not isinstance(message_type, Type):
106
        try:
107
            if isinstance(message_type, str):
108
                # False positive https://github.com/PyCQA/pylint/issues/992
109
                # pylint: disable=E1136
110
                message_type = Type[message_type]
111
            elif isinstance(message_type, int):
112
                message_type = Type(message_type)
113
        except ValueError:
114
            raise ValueError
115
116
    message = new_message_from_message_type(message_type)
117
    message.header.xid = header.xid
118
    message.header.length = header.length
119
120
    return message
121
122