Code Duplication    Length = 13-13 lines in 2 locations

kytos/core/helpers.py 2 locations

@@ 222-234 (lines=13) @@
219
            and also decorated as an asyncio task.
220
        """
221
        # pylint: disable=unused-argument,broad-except
222
        async def handler_context(*args, **kwargs):
223
            """Async handler's execution context."""
224
            cls, kytos_event = args[0], args[1]
225
            try:
226
                result = await handler(*args)
227
            except Exception:
228
                result = None
229
                traceback_str = traceback.format_exc().replace("\n", ", ")
230
                LOG.error(f"alisten_to handler: {handler}, "
231
                          f"args: {args} traceback: {traceback_str}")
232
                if hasattr(cls, "controller"):
233
                    cls.controller.dead_letter.add_event(kytos_event)
234
            return result
235
236
        async def handler_context_apm(*args, apm_client=None):
237
            """Async handler's execution context with APM instrumentation."""
@@ 132-144 (lines=13) @@
129
                return
130
131
        # pylint: disable=unused-argument
132
        def handler_context(*args, **kwargs):
133
            """Handler's context for ThreadPool."""
134
            cls, kytos_event = args[0], args[1]
135
            try:
136
                result = handler(*args)
137
            except Exception:
138
                result = None
139
                traceback_str = traceback.format_exc().replace("\n", ", ")
140
                LOG.error(f"listen_to handler: {handler}, "
141
                          f"args: {args} traceback: {traceback_str}")
142
                if hasattr(cls, "controller"):
143
                    cls.controller.dead_letter.add_event(kytos_event)
144
            return result
145
146
        def handler_context_apm(*args, apm_client=None):
147
            """Handler's context for ThreadPool APM instrumentation."""