PyTangoArchiving access to hdbpp by 'universial' Reader.

Hello All,
I have problem with new HDBpp archiving system and PyTangoArchiving.
I configured the Tango property like in the screen and when I try to run the ArchivingBrowser or any software connected with the PyTangoArchiving I have error:

Traceback (most recent call last):
  File "…/PyTangoArchiving/PyTangoArchiving/schemas.py", line 99, in getSchema
getSchema(hdbpp): failed!
    assert len(props)
AssertionError
And I didn't get to connect to HDBpp.

I setup this properties like in this post (http://www.tango-controls.org/community/forum/c/general/other/hdb_viewer/?page=2):


So after the code analisis I add new properties:

And still I have error (further the code):
getSchema(hdbpp): failed!
Traceback (most recent call last):
  File "…/PyTangoArchiving/PyTangoArchiving/schemas.py", line 102, in getSchema
    dct.update(props)
ValueError: dictionary update sequence element #0 has length 1; 2 is required

So my question is what is the proper setup of this PyTangoArchving properties for HDBpp, and what change was made from the time in previous post (if anyone at all connected using this functionality)?
Additionally when I run PyTangoArchiving like in the example below all works fine:


import PyTangoArchiving as pta
rd = pta.Reader(schema="hdbpp")
print(rd.get_attributes())

But a lot of software create universial reader and don't setup the db argument.
Edited 3 months ago
Try to fully define the Schemas property in this way:

Schemas:
hdbpp

hdbpp:
reader=PyTangoArchiving.hdbpp.HDBpp('hdbpp','$hostname','$user','$passwd')
method=get_attribute_values
api=PyTangoArchiving.hdbpp.HDBpp
db_name=hdbpp
user=…
passwd=…
host=…

In the meanwhile, I create an issue on github to cleanup the different formats of the property and use a unique one (the ideal would be to use the same format than LibConfiguration property on subscriber devices)
Keep on dancing,

http://www.tango-controls.org/resources/howto/how-fandango/
This work smile

Thanks a lot.
 
Register or login to create to post a reply.