Running the following code...
from irods.session import iRODSSession
with iRODSSession(host='localhost', port=1247, user='rods', password='rods', zone='tempZone') as session:
hexvalue = "53:6b:6f:70:65:43:61:6c:58:c3:af:c2:bf:c2:bd:c3:af:c2:bf:c2:bd:23:01:32:64:31"
hex_list = [int(byte, 16) for byte in hexvalue.split(":")]
string_value = "".join([chr(byte) for byte in hex_list])
obj = session.data_objects.get('/tempZone/home/rods/file.txt')
attr_str = "awesome"
value_str = string_value
obj.metadata.add( attr_str, value_str )
The AVU makes it in, but the response is not parsed correctly by the PRC.
$ python pyclient.py
Traceback (most recent call last):
File "pyclient.py", line 14, in <module>
obj.metadata.add( attr_str, value_str )
File "/home/tgr/venv3/lib/python3.8/site-packages/irods/data_object.py", line 86, in metadata
self._meta = iRODSMetaCollection(
File "/home/tgr/venv3/lib/python3.8/site-packages/irods/meta.py", line 89, in __init__
self._reset_metadata()
File "/home/tgr/venv3/lib/python3.8/site-packages/irods/meta.py", line 92, in _reset_metadata
self._meta = self._manager.get(self._model_cls, self._path)
File "/home/tgr/venv3/lib/python3.8/site-packages/irods/manager/metadata_manager.py", line 82, in get
results = self.sess.query(*columns).filter(*conditions).all()
File "/home/tgr/venv3/lib/python3.8/site-packages/irods/query.py", line 212, in all
result_set = self.execute()
File "/home/tgr/venv3/lib/python3.8/site-packages/irods/query.py", line 198, in execute
results = result_message.get_main_message(GenQueryResponse)
File "/home/tgr/venv3/lib/python3.8/site-packages/irods/message/__init__.py", line 400, in get_main_message
msg.unpack(ET().fromstring(self.msg))
File "/usr/lib/python3.8/xml/etree/ElementTree.py", line 1320, in XML
parser.feed(text)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 19, column 29
$ imeta ls -d file.txt
AVUs defined for dataObj /tempZone/home/rods/file.txt:
attribute: awesome
value: SkopeCalX��#2d1
units:
We should handle this better... but where?
Running the following code...
The AVU makes it in, but the response is not parsed correctly by the PRC.
We should handle this better... but where?