コード例 #1
0
def main():
    print("Hello!")
    parser = Parser()
    parsed_content = parser.parse_file('money_tracker.txt')
    mt = MoneyTracker(parsed_content)
    mt.create_database()
    while True:
        choice = get_input()
        if choice == 1:
            print(mt)
        elif choice == 2:
            mt.print_records_in_date(parser.get_date())
        elif choice == 3:
            mt.print_records_in_category_ordered_by_labels('expense')
        elif choice == 4:
            amount = parser.get_amount()
            date = parser.get_date()
            label = input('label: ')
            mt.add_record(date, amount, label, 'income')
        elif choice == 5:
            amount = parser.get_amount()
            date = parser.get_date()
            label = input('label: ')
            mt.add_record(date, amount, label, 'expense')
        elif choice == 6:
            break
        elif choice == -1:
            continue
コード例 #2
0
    def get_records_with_label(self, target_label):
        records = []
        for row in self.database:
            date, cat_obj, category = row
            if target_label == cat_obj.get_label():
                records.append(cat_obj)
        return records

    def get_records_in_category_ordered_by_labels(self, target_category):
        records = self.get_records_in_category(target_category)
        records.sort(key=lambda cat_obj: cat_obj.get_label())
        return records

    def print_records_in_category_ordered_by_labels(self, target_category):
        records = self.get_records_in_category_ordered_by_labels(target_category)
        for record in records:
            print(record)


if __name__ == '__main__':
    parser = Parser()
    mt = MoneyTracker(parser.parse_file('money_tracker.txt'))
    mt.create_database()
    print(mt)
    mt.add_record(datetime.strptime('22-03-2019', '%d-%m-%Y'), 250, 'loan', 'expense')
    mt.sort_database()
    # mt.print_records_in_date(datetime.strptime('22-03-2019', '%d-%m-%Y'))
    # print(mt.get_records_in_category_ordered_by_labels('income'))
    # # [print(row) for row in mt.database]