Exemple #1
0
def analyse_by_label_content(label: str, transactions: List[Transaction],
                             start: datetime, end: datetime) -> float:
    """"
    To print transaction
    >>> print(analyser.__str__()[0:500])
    >>> print(anylyser)
    """
    analyser = Analyser(transactions)
    analyser.filter_date(start, end).filter_by_label_contains_value(label)
    total_spent_sum = analyser.reduce_to_sum()
    average_basket = analyser.reduce_to_average()
    average_spent_per_day = total_spent_sum / (end - start).days

    print(f"{label} Analysis between {start} and {end}\n"
          f"Total spent is: {total_spent_sum}\n"
          f"Average basket is {average_basket}\n"
          f"Average spent per day is: {average_spent_per_day}")
    print("\n\n")
    return total_spent_sum