示例#1
0
def data_processing_last(b_data, provider, dir_name, file_name, tab_col):
    dataMatrix = group_frame_by_duration_and_rate(formatDataFromBank(b_data, provider))
    if dataMatrix:
        fileUtils.displayRates(tab_col, dataMatrix)
        return fileUtils.upToDate(file_name, dir_name, dataMatrix, tab_col)
    else:
        return None
示例#2
0
def elantisLoanScraper():
    print('ELANTIS SCRAPE PROCESSING ...')
    tab_col = ['PROVIDER ', 'PRODUCTID', 'LOAN TYPE', 'MIN AMT', 'MAX AMT', 'TERM', 'RATE']
    data_matrix = formatDataFromBank(bankData(), 'ELANTIS')
    if data_matrix:
        fileUtils.displayRates(tab_col, data_matrix)
        return fileUtils.upToDate('elantis_rates', 'ELANTIS SCRAPE', data_matrix, tab_col)
    else:
        return None
示例#3
0
def loanProcedure(pdt):
    print('BNPPF {} SCRAPE PROCESSING ...'.format(pdt))
    tab_col = [
        'PROVIDER ', 'PRODUCTID', 'LOAN TYPE', 'MIN AMT', 'MAX AMT', 'MINTERM',
        'MAXTERM', 'RATE'
    ]
    data_matrix = formatDataFromBank(pdt_bank_data(pdt), 'BNPPF')
    if data_matrix:
        fileUtils.displayRates(tab_col, data_matrix)
        return fileUtils.upToDate('bnp_{}_rates'.format(pdt.lower()),
                                  'BNP SCRAPE', data_matrix, tab_col)
    else:
        return None
示例#4
0
def compare_rate_and_notify(delta):
    message = []

    # TC website rates and products
    tc_product_and_rates = get_tc_rate()
    for pdt in tc_product_and_rates:
        # correspond a product to the appropriate bank
        bank = product_to_bank(pdt)

        # compute the weighted rate if the bank has both apps
        if bank in android_bank_apps:
            if bank in ios_bank_apps:
                actual_rate = rate_computer(get_android_data(bank),
                                            get_ios_data(bank))
            else:
                # else consider the unique rate
                actual_rate = get_android_data(bank)["rate"]

        elif bank in ios_bank_apps:
            actual_rate = get_ios_data(bank)["rate"]
        else:
            # if the bank is not present in any of the app repository
            actual_rate = None

        # if the difference btn the actual rate and the tc_web site rate gt delta
        if actual_rate and abs(actual_rate -
                               tc_product_and_rates[pdt]) > delta:
            if not "{} .... NOT OK!".format(bank.lower()) in message:
                message += ["{} .... NOT OK!".format(bank.lower())]
    if not message:
        message += [
            "", "APP RATINGS STATUS",
            "all app ratings ...................................OK!"
        ]
    else:
        message = [
            "", "", "APP RATINGS STATUS WITH A DIFFERENCE OF MORE THAN: {}".
            format(delta), ""
        ] + message
    fileUtils.displayRates([
        "APP", "ANDROID_RATINGS", "ANDROID_REVIEWS", "IOS_RATINGS",
        "IOS_REVIEWS", "WEIGHTED_RATINGS", "TOP COMPARE RATINGS"
    ], app_rate_frame())
    return message
示例#5
0
def processData(dataMatrix, tab_Column, directoryName, fileName):
    if dataMatrix:
        fileUtils.displayRates(tab_Column, dataMatrix)
        return fileUtils.upToDate(fileName, directoryName, dataMatrix, tab_Column)
    else:
        return None
示例#6
0
def process_crf_data(dataMatrix, tab_Column, directoryName, fileName):
    data_to_display = fileUtils.createNewFrame(dataMatrix, fileUtils.getFileContentAsList(fileName, directoryName))
    fileUtils.displayRates(tab_Column, data_to_display)
    return fileUtils.carrefourRatesUpdate(fileName, directoryName, dataMatrix, tab_Column, [])