Hi
I have just seen this, maybe i can add the API for it.
It's fairly easy to re-create in pyPreservica already, you just need to loop over the csv file and extract the asset reference and then either create or update the xml metadata using the columns in the csv file.
The following snippet below will get you half way.
from pyPreservica import *
import csv
import xml.etree.ElementTree
client = EntityAPI()
NS = "http://www.preservica.com/metadata/group/test"
with open('my-metadata.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
# skip first two rows
next(reader)
next(reader)
for row in reader:
reference = row['entity ref']
asset = client.asset(reference)
metadata = client.metadata_for_entity(asset, NS)
if metadata is None:
# add new metadata
# create xml document data
vehicle = row['Vehicle']
client.add_metadata(asset, NS, data)
else:
xml_document = xml.etree.ElementTree.fromstring(metadata)
# update metadata set values on xml_document
data = xml.etree.ElementTree.tostring(xml_document, encoding='UTF-8', xml_declaration=True).decode("utf-8")
client.update_metadata(asset, NS, data)