From e9acc7973f39761a237b015a9bfc103c4a10b085 Mon Sep 17 00:00:00 2001 From: Thomas Fillon Date: Fri, 3 Oct 2014 14:19:02 +0200 Subject: [PATCH] fix(core): fix symlink issue when identifying duplicated processors --- timeside/core.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/timeside/core.py b/timeside/core.py index 5576b0d..b68146d 100644 --- a/timeside/core.py +++ b/timeside/core.py @@ -28,7 +28,8 @@ import re import numpy import uuid import networkx as nx - +import inspect +import os import gobject gobject.threads_init() @@ -52,10 +53,14 @@ class MetaProcessor(MetaComponent): if id in _processors: # Doctest test can duplicate a processor # This can be identify by the conditon "module == '__main__'" + new_path = os.path.realpath(inspect.getfile(new_class)) + id_path = os.path.realpath(inspect.getfile(_processors[id])) if new_class.__module__ == '__main__': new_class = _processors[id] elif _processors[id].__module__ == '__main__': pass + elif new_path == id_path: + new_class = _processors[id] else: raise ApiError("%s and %s have the same id: '%s'" % (new_class.__name__, -- 2.39.5