rate_table.py

View page source

rate_table: Example and Test

def rate_table() :
    import dismod_at
    import copy
    #
    file_name      = 'example.db'
    connection     = dismod_at.create_connection(
        file_name, new = True, readonly = False
    )
    cursor         = connection.cursor()
    #
    # create the rate table
    col_name = [
        'rate_name', 'parent_smooth_id', 'child_smooth_id', 'child_nslist_id'
    ]
    col_type = [
        'text',      'integer',          'integer',          'integer'
    ]
    row_list = [
        ['pini',  0,   1,  None],
        ['iota',  2,   3,  None],
        ['rho',   2,   3,  None],
        ['chi',   2,   3,  None],
        ['omega', 2,   3,  0   ]
    ]
    tbl_name = 'rate'
    dismod_at.create_table(connection, tbl_name, col_name, col_type, row_list)
    # ----------------------------------------------------------------------
    # include primary key in test
    check_name = [ tbl_name + '_id' ] + col_name
    check_list = list()
    for i in range( len(row_list) ) :
        check_list.append( [i] + row_list[i] )
    #
    row_list = dismod_at.get_row_list(connection, tbl_name, check_name)
    assert row_list == check_list
    # ----------------------------------------------------------------------
    connection.close()
    print('rate_table: OK')