Ejemplo n.º 1
0
def write_yaml(o, ff, **kwargs):
    """Write a given object to a YAML file 'ff'.

    `ff` can be either a file name or a stream.
    """
    if hasattr(ff, "write"):
        loopyaml.dump(o, ff, **kwargs)
    else:
        with open(ff, "w") as fp:
            loopyaml.dump(o, fp, **kwargs)
Ejemplo n.º 2
0
def test_multiloop():
    dd = {
        'I': [2.0, 2.0],
        'Ierr': [3.0, 3.0],
        'q': [1.0, 1.0],
        'I~unit' : 'arb.',
        'Ierr~unit' : 'arb.',
        'q~unit' : '1/nm',
        'bI': [2.0, 2.0],
        'bIerr': [3.0, 3.0],
        'bq': [1.0, 1.0],
        'bI~unit' : 'arb.',
        'bIerr~unit' : 'arb.',
        'bq~unit' : '1/nm'
        }
    lvars = ['q', 'I', 'Ierr']
    attrs = ['~unit']
    blvars = ['bq', 'bI', 'bIerr']
    battrs = ['~unit']
    ld = loopyaml.Loopdict(dd, loops=[(lvars, attrs), (blvars, battrs), (lvars, attrs)])
    ss = loopyaml.dump(ld)
#    print(ss)
    lread = loopyaml.load(ss)
#    print(lread)
    assert(ld == lread) # FIXME: Is this really recursive value equality test?
Ejemplo n.º 3
0
def test_loops_key():
    dd = {
        'I': [2.0, 2.0],
        'Ierr': [3.0, 3.0],
        'q': [1.0, 1.0],
        '=loops=' : "true",
    }
    lvars = ['q', 'I', 'Ierr']
    ld = loopyaml.Loopdict(dd, lvars)
    ss = loopyaml.dump(ld)
#    print(ss)
    lread = loopyaml.load(ss)
    assert(ld == lread) # FIXME: Is this really recursive value equality test?