Пример #1
0
def test_lookup_no_such_object(assert_log):
    value = dlisio.core.obname(10, 2, 'channel')
    ch = Channel()
    ch.logicalfile = dlisio.dlis(None, [], [], [])
    res = lookup(ch, linkage.obname('CHANNEL'), value)

    assert res is None
    assert_log('not in logical file')
Пример #2
0
def makeframe():
    frame = dlisio.plumbing.Frame()
    frame.name = 'MAINFRAME'
    frame.origin = 0
    frame.copynumber = 0

    time0 = dlisio.plumbing.Channel()
    time0.name = 'TIME'
    time0.origin = 0
    time0.copynumber = 0
    attic = {
        'DIMENSION': [1],
        'REPRESENTATION-CODE': [2]  # f4
    }
    time0.attic = attic

    tdep = dlisio.plumbing.Channel()
    tdep.name = 'TDEP'
    tdep.origin = 0
    tdep.copynumber = 0
    attic = {
        'DIMENSION': [2],
        'REPRESENTATION-CODE': [13]  # i2
    }
    tdep.attic = attic

    time1 = dlisio.plumbing.Channel()
    time1.name = 'TIME'
    time1.origin = 1
    time1.copynumber = 0
    attic = {
        'DIMENSION': [1],
        'REPRESENTATION-CODE': [13],  # i2
    }
    time1.attic = attic

    #frame.channels = [time0, tdep, time1]
    frame.attic = {
        'CHANNELS': [
            core.obname(time0.origin, time0.copynumber, time0.name),
            core.obname(tdep.origin, tdep.copynumber, tdep.name),
            core.obname(time1.origin, time1.copynumber, time1.name)
        ]
    }

    logicalfile = dlisio.dlis(None, [], [], [])
    logicalfile.indexedobjects['FRAME'] = {frame.fingerprint: frame}
    logicalfile.indexedobjects['CHANNEL'] = {
        time0.fingerprint: time0,
        tdep.fingerprint: tdep,
        time1.fingerprint: time1,
    }
    for objs in logicalfile.indexedobjects.values():
        for obj in objs.values():
            obj.logicalfile = logicalfile

    frame.link()
    return frame
Пример #3
0
def g():
    s = dlisio.open("tests/test_dlis.py")  #any existing file is required
    g = dlisio.dlis(s, [], None, [])

    ch = Channel()
    ch.name = 'CHANNEL1'
    ch.origin = 0
    ch.copynumber = 0
    g.indexedobjects["CHANNEL"][ch.fingerprint] = ch

    ch = Channel()
    ch.name = 'CHANNEL1.V2'
    ch.origin = 0
    ch.copynumber = 0
    g.indexedobjects["CHANNEL"][ch.fingerprint] = ch

    ch = Channel()
    ch.name = 'CHANNEL1'
    ch.origin = 0
    ch.copynumber = 1
    g.indexedobjects["CHANNEL"][ch.fingerprint] = ch

    un = Unknown()
    un.name = 'UNEFRAME'
    un.origin = 0
    un.copynumber = 0
    un.type = "NONCHANNEL"
    g.indexedobjects["NONCHANNEL"][un.fingerprint] = un

    fr = Frame()
    fr.name = 'UNEFRAME'
    fr.origin = 0
    fr.copynumber = 0
    g.indexedobjects["FRAME"][fr.fingerprint] = fr

    un = Unknown()
    un.name = '440-CHANNEL'
    un.origin = 0
    un.copynumber = 0
    un.type = "440.TYPE"
    g.indexedobjects["440.TYPE"][un.fingerprint] = un

    ch = Channel()
    ch.name = '440.CHANNEL'
    ch.origin = 0
    ch.copynumber = 0
    ch.type = "440-TYPE"
    g.indexedobjects["440-TYPE"][ch.fingerprint] = ch

    return g
Пример #4
0
def test_lookup():
    other = Channel()
    other.name = 'channel'
    other.origin = 10
    other.copynumber = 2

    lf = dlisio.dlis(None, [], [], [])
    lf.indexedobjects['CHANNEL'] = {other.fingerprint : other}

    ch = Channel()
    ch.logicalfile = lf

    value = dlisio.core.obname(10, 2, 'channel')
    res = lookup(ch, linkage.obname('CHANNEL'), value)

    assert res == other
Пример #5
0
def test_channel_fmt():
    ch1 = dlisio.plumbing.Channel()
    ch1.name = 'ch1'
    ch1.origin = 0
    ch1.copynumber = 0
    ch1.attic = {
        'DIMENSION': [5],
        'REPRESENTATION-CODE': [11],
    }

    ch2 = dlisio.plumbing.Channel()
    ch2.name = 'ch2'
    ch2.origin = 0
    ch2.copynumber = 0
    ch2.attic = {
        'DIMENSION': [2, 2],
        'REPRESENTATION-CODE': [3],
    }

    ch3 = dlisio.plumbing.Channel()
    ch3.name = 'ch3'
    ch3.origin = 0
    ch3.copynumber = 0
    ch3.attic = {
        'DIMENSION': [4, 2],
        'REPRESENTATION-CODE': [26],
    }

    ch4 = dlisio.plumbing.Channel()
    ch4.name = 'ch4'
    ch4.origin = 0
    ch4.copynumber = 0
    ch4.attic = {
        'DIMENSION': [1],
        'REPRESENTATION-CODE': [17],
    }

    ch5 = dlisio.plumbing.Channel()
    ch5.name = 'ch5'
    ch5.origin = 0
    ch5.copynumber = 0
    ch5.attic = {
        'DIMENSION': [2, 3, 1],
        'REPRESENTATION-CODE': [12],
    }

    frame = dlisio.plumbing.Frame()
    frame.name = 'fr'
    frame.origin = 0
    frame.copynumber = 0
    frame.attic = {
        'CHANNELS': [
            core.obname(ch1.origin, ch1.copynumber, ch1.name),
            core.obname(ch2.origin, ch2.copynumber, ch2.name),
            core.obname(ch3.origin, ch3.copynumber, ch3.name),
            core.obname(ch4.origin, ch4.copynumber, ch4.name),
            core.obname(ch5.origin, ch5.copynumber, ch5.name),
        ]
    }

    logicalfile = dlisio.dlis(None, [], [], [])
    logicalfile.indexedobjects['FRAME'] = {frame.fingerprint: frame}

    logicalfile.indexedobjects['CHANNEL'] = {
        ch1.fingerprint: ch1,
        ch2.fingerprint: ch2,
        ch3.fingerprint: ch3,
        ch4.fingerprint: ch4,
        ch5.fingerprint: ch5,
    }
    frame.logicalfile = logicalfile
    ch1.logicalfile = logicalfile
    ch2.logicalfile = logicalfile
    ch3.logicalfile = logicalfile
    ch4.logicalfile = logicalfile
    ch5.logicalfile = logicalfile

    pre_fmt, ch_fmt, post_fmt = frame.fmtstrchannel(ch3)
    assert pre_fmt == "CCCCCbbbb"
    assert ch_fmt == "qqqqqqqq"
    assert post_fmt == "Ldddddd"
Пример #6
0
def g():
    s = dlisio.open(
        "tests/test_logical_file.py")  #any existing file is required
    g = dlisio.dlis(s, [], [], [])

    ch = Channel()
    ch.name = 'CHANNEL1'
    ch.origin = 0
    ch.copynumber = 0
    ch.logicalfile = g
    g.indexedobjects["CHANNEL"][ch.fingerprint] = ch

    ch = Channel()
    ch.name = 'CHANNEL1.V2'
    ch.origin = 0
    ch.copynumber = 0
    ch.logicalfile = g
    g.indexedobjects["CHANNEL"][ch.fingerprint] = ch

    ch = Channel()
    ch.name = 'CHANNEL1'
    ch.origin = 0
    ch.copynumber = 1
    ch.logicalfile = g
    g.indexedobjects["CHANNEL"][ch.fingerprint] = ch

    un = Unknown()
    un.name = 'UNEFRAME'
    un.origin = 0
    un.copynumber = 0
    un.type = "NONCHANNEL"
    un.logicalfile = g
    g.indexedobjects["NONCHANNEL"][un.fingerprint] = un

    fr = Frame()
    fr.name = 'UNEFRAME'
    fr.origin = 0
    fr.copynumber = 0
    fr.logicalfile = g
    g.indexedobjects["FRAME"][fr.fingerprint] = fr

    un = Unknown()
    un.name = '440-CHANNEL'
    un.origin = 0
    un.copynumber = 0
    un.type = "440.TYPE"
    un.logicalfile = g
    g.indexedobjects["440.TYPE"][un.fingerprint] = un

    ch = Channel()
    ch.name = '440.CHANNEL'
    ch.origin = 0
    ch.copynumber = 0
    ch.type = "440-TYPE"
    ch.logicalfile = g
    g.indexedobjects["440-TYPE"][ch.fingerprint] = ch

    g.record_types = list(g.indexedobjects.keys())

    # Simulate the occurance of multiple Channel sets
    g.record_types.append('CHANNEL')
    return g