def test_open_xmldoc(): from glue.ligolw.ligolw import (Document, LIGO_LW) assert isinstance(io_ligolw.open_xmldoc(tempfile.mktemp()), Document) with tempfile.TemporaryFile(mode='w') as f: xmldoc = Document() xmldoc.appendChild(LIGO_LW()) xmldoc.write(f) f.seek(0) assert isinstance(io_ligolw.open_xmldoc(f), Document)
def test_open_xmldoc(self): from glue.ligolw.ligolw import (Document, LIGO_LW) assert isinstance(io_ligolw.open_xmldoc(tempfile.mktemp()), Document) with tempfile.TemporaryFile(mode='w') as f: xmldoc = Document() xmldoc.appendChild(LIGO_LW()) xmldoc.write(f) f.seek(0) assert isinstance(io_ligolw.open_xmldoc(f), Document)
def write_ligolw(flag, fobj, **kwargs): """Write this `DataQualityFlag` to XML in LIGO_LW format """ if isinstance(fobj, Document): return write_to_xmldoc(flag, fobj, **kwargs) elif isinstance(fobj, (str, unicode)): fobj = open(fobj, 'w') close = True else: close = False xmldoc = Document() xmldoc.appendChild(LIGO_LW()) # TODO: add process information write_to_xmldoc(flag, xmldoc) xmldoc.write(fobj) if close: fobj.close()
def test_list_tables(self): from glue.ligolw import lsctables from glue.ligolw.ligolw import (Document, LIGO_LW) # build dummy document with two tables xmldoc = Document() llw = xmldoc.appendChild(LIGO_LW()) tables = [lsctables.New(lsctables.ProcessTable), lsctables.New(lsctables.SnglRingdownTable)] names = [t.TableName(t.Name) for t in tables] [llw.appendChild(t) for t in tables] # add tables to xmldoc # check that tables are listed properly assert io_ligolw.list_tables(xmldoc) == names # check that we can list from files with tempfile.NamedTemporaryFile(mode='w') as f: xmldoc.write(f) f.seek(0) assert io_ligolw.list_tables(f) == names