Wrong Device / Attribute separator used in EvaluatorDevice.getAttribute

from taurus import Device, Attribute

dev = Device("eval://localhost/@DefaultEvaluator")

attr = dev.getAttribute("randint(100)")

-> Python error: Invalid evaluation attribute name eval://localhost/@DefaultEvaluator;randint(100)

The name should be "eval://localhost/@DefaultEvaluator/rand(1)" with a "/" instead of a ";" between the Device part and the attribute part, as shown with :

Attribute("eval:randint(100)").fullname

-> 'eval://localhost/@DefaultEvaluator/randint(100)'

I have tried to simply change :

full_attrname = "%s;%s" % (self.getFullName(), attrname)

To:

full_attrname = "%s/%s" % (self.getFullName(), attrname)

In EvaluationDevice.getAttribute (taurus/core/evaluation/evaldevice.py), it seems to work well.

Edited by Amoutardier