Ejemplo n.º 1
0
def test_get_user_input():

    gxprj.user_message('TEST', 'Starting get_user_info test')
    gxprj.pause(
        'Testing pause\nSome descriptive text\nLine 2\nLine 3\nThis tests the ability for DGW to properly resize a a dialog..........'
    )
    gxprj.pause('Testing pause with cancel', cancel=True)

    ret = gxprj.get_user_input('Testing string input',
                               'String is a bit long',
                               default='test')
    print('string return: {}'.format(ret))

    ret = gxprj.get_user_input('Testing float',
                               'Float',
                               kind='float',
                               default=1.5)
    print('float return: {}'.format(ret))

    ret = gxprj.get_user_input('Testing int\nThis must be an integer value.',
                               'Int',
                               kind='int',
                               default=7)
    print('int return: {}'.format(ret))

    ret = gxprj.get_user_input('Testing a list',
                               'List',
                               kind='list',
                               default='maki',
                               items='maki, rider, explorer')
    print('list return: {}'.format(ret))

    input("Simple inputs test finished, press enter to continue...")
Ejemplo n.º 2
0
def test_scripting():
    import os
    import geosoft.gxapi as gxa

    py_file = 'py_file.py'
    gs_file = 'project.gs'

    with open(py_file, 'w+') as f:
        f.write('import geosoft\n')
        f.write('def rungx():\n')
        f.write('   pass\n')

    gxprj.user_message('SCRIPTING TEST',
                       'Enter "project" in the next browse dialog.')
    gxa.GXSYS.do_command("[ID] ID_GX_RECORD")
    gxa.GXSYS.do_command("[GX] {}".format(py_file))
    gxa.GXSYS.do_command("[ID] ID_GX_ENDRECORD")

    with open(gs_file, 'r') as f:
        script = f.read()
    gxprj.user_message(
        'SCRIPTING TEST RESULT',
        'The following should contain "GX py_file.py"\n{}'.format(script))

    # run script
    gxa.GXSYS.set_interactive(0)
    gxa.GXSYS.run_gs(os.path.normpath(gs_file))
    gxa.GXSYS.set_interactive(1)

    os.remove(gs_file)
    os.remove(py_file)
Ejemplo n.º 3
0
def rungx():
    float_val = gxa.GXSYS.get_double("SCRIPT_GX", "VALUE")
    if gxa.GXSYS.interactive() != 0:
        ret_val = gxprj.get_user_input('SCRIPT GX (interactive)', 'Float', kind='float', default=float_val)
        print('float return: {}'.format(ret_val))
        gxa.GXSYS.set_double("SCRIPT_GX", "VALUE", ret_val)
    else:
        gxa.GXSYS.set_interactive(1) # Restore interactive mod to make dialogs appear
        gxprj.user_message('SCRIPT GX (non interactive)', "Received value: {}".format(float_val))
Ejemplo n.º 4
0
def rungx():

    gxprj.user_message('Running:', __file__)

    test_project()
    test_get_user_input()
    test_file()
    test_multifile()
    test_scripting()

    gxprj.user_message('Project test', "test finished")
Ejemplo n.º 5
0
def rungx():

    # get the name of a grid from the user
    grid_file = gxproj.get_user_input(title='Grid statistics',
                                      prompt='Grid file',
                                      kind='file',
                                      filemask='*.grd')

    stats = grid_stats(grid_file)

    gxproj.user_message(
        grid_file, 'min: {}\nmax: {}\nmean: {}\nstd_dev: {}'.format(
            stats.get_info(gxapi.ST_MIN), stats.get_info(gxapi.ST_MAX),
            stats.get_info(gxapi.ST_MEAN), stats.get_info(gxapi.ST_STDDEV)))
Ejemplo n.º 6
0
def rungx():

    # parameter 'GRID_FILE' is the last-specified grid file name for this script.
    grid_parameter = 'GRID_FILE'
    group = os.path.basename(__file__).split('.')[0]
    parms = gxu.get_parameters(group, {grid_parameter: ''})

    # get the name of a grid from the user
    grid_file = gxproj.get_user_input(title='Grid statistics',
                                      prompt='Grid file',
                                      default=parms.get(grid_parameter),
                                      kind='file',
                                      filemask='*.grd')

    # save the grid file name as the default the next time this script is run
    parms[grid_parameter] = grid_file
    gxu.save_parameters(group, parms)

    stats = grid_stats(grid_file)

    gxproj.user_message(
        grid_file, 'min: {}\nmax: {}\nmean: {}\nstd_dev: {}'.format(
            stats.get_info(gxapi.ST_MIN), stats.get_info(gxapi.ST_MAX),
            stats.get_info(gxapi.ST_MEAN), stats.get_info(gxapi.ST_STDDEV)))
Ejemplo n.º 7
0
def rungx():
    project = gxpj.Geosoft_project()
    gxpj.user_message("Project name: {}".format(project.name),
                      "Project user: {}".format(project.gid))