icat.dumpfile_xml — XML data file backend¶
This module provides the XML backend for icat.dumpfile. See
the documentation of that module on how to read and write ICAT data
files.
-
class
icat.dumpfile_xml.XMLDumpFileReader(client, infile)¶ Bases:
icat.dumpfile.DumpFileReaderBackend for reading ICAT data from a XML file.
This backend accepts a file object, a filename, or a XML tree object (
lxml.etree._ElementTree) as input. Note that the latter case requires by definition the complete input to be at once in memory. This is only useful if the input is small enough.-
mode= 'rb'¶ File mode suitable for this backend.
-
getdata_file()¶ Iterate over the chunks in the data file.
-
getdata_etree()¶ Iterate over the chunks from a XML tree object.
-
getobjs_from_data(data, objindex)¶ Iterate over the objects in a data chunk.
Yield a new entity object in each iteration. The object is initialized from the data, but not yet created at the client.
-
-
class
icat.dumpfile_xml.XMLDumpFileWriter(client, outfile)¶ Bases:
icat.dumpfile.DumpFileWriterBackend for writing ICAT data to a XML file.
-
mode= 'wb'¶ File mode suitable for this backend.
-
head()¶ Write a header with some meta information to the data file.
-
startdata()¶ Start a new data chunk.
If the current chunk contains any data, write it to the data file.
-
writeobj(key, obj, keyindex)¶ Add an entity object to the current data chunk.
-
finalize()¶ Finalize the data file.
-