コード例 #1
0
ファイル: query.py プロジェクト: DefendersOfNemo/SavingNemo
def queryDb(value_type, value):
    """Query Database to get options for each drop-down menu"""
    result, countRecords, minDate, maxDate = None, None, None, None
    db_connection = DbConnect(current_app.config)
    keyList = ['biomimic_type', 'country', 'state_province', 'location', 'zone', 'sub_zone', \
                'wave_exp', 'start_date', 'end_date', 'output_type', 'analysis_type']
    # delete all keys in session variable "query" after the selected field
    for key in keyList[keyList.index(value_type) + 1:]:
        session['query'].pop(key, None)
    session['query'][value_type] = value
    if value_type == "biomimic_type":
        result, countRecords, minDate, maxDate = \
              db_connection.fetch_distinct_countries_and_zones(session['query'])
    elif value_type == "country":
        result, countRecords, minDate, maxDate = \
                        db_connection.fetch_distinct_states(session['query'])
    elif value_type == "state_province":
        result, countRecords, minDate, maxDate = \
                        db_connection.fetch_distinct_locations(session['query'])
    elif value_type == "location":
        # location field doesn't have any associated dynamic behavior
        # except for fetching metadata.
        countRecords, minDate, maxDate = \
                        db_connection.fetch_metadata(session['query'])
    elif value_type == "zone":
        result, countRecords, minDate, maxDate = \
                        db_connection.fetch_distinct_sub_zones(session['query'])
    elif value_type == "sub_zone":
        result, countRecords, minDate, maxDate = \
                   db_connection.fetch_distinct_wave_exposures(session['query'])
    db_connection.close()
    return result, countRecords, minDate, maxDate
コード例 #2
0
def queryDb(value_type, value):
    """Query Database to get options for each drop-down menu"""
    result, countRecords, minDate, maxDate = None, None, None, None
    db_connection = DbConnect(current_app.config)
    keyList = ['biomimic_type', 'country', 'state_province', 'location', 'zone', 'sub_zone', \
                'wave_exp', 'start_date', 'end_date', 'output_type', 'analysis_type']
    # delete all keys in session variable "query" after the selected field
    for key in keyList[keyList.index(value_type) + 1:]:
        session['query'].pop(key, None)
    session['query'][value_type] = value
    if value_type == "biomimic_type":
        result, countRecords, minDate, maxDate = \
              db_connection.fetch_distinct_countries_and_zones(session['query'])
    elif value_type == "country":
        result, countRecords, minDate, maxDate = \
                        db_connection.fetch_distinct_states(session['query'])
    elif value_type == "state_province":
        result, countRecords, minDate, maxDate = \
                        db_connection.fetch_distinct_locations(session['query'])
    elif value_type == "location":
        # location field doesn't have any associated dynamic behavior
        # except for fetching metadata.
        countRecords, minDate, maxDate = \
                        db_connection.fetch_metadata(session['query'])
    elif value_type == "zone":
        result, countRecords, minDate, maxDate = \
                        db_connection.fetch_distinct_sub_zones(session['query'])
    elif value_type == "sub_zone":
        result, countRecords, minDate, maxDate = \
                   db_connection.fetch_distinct_wave_exposures(session['query'])
    db_connection.close()
    return result, countRecords, minDate, maxDate