예제 #1
0
def process_commands(commands, output):
    for command in commands:
        if 'bid_amount' in command:
            proccess_bid(command)
        elif 'close_time' in command:
            process_sell(command)
        else:
            closed = database.get_closed(command['timestamp'])
            for sale in closed:
                winner = winning_bid.determin_winner(sale)
                write_file.write(write_file.format_data(copy.deepcopy(winner)),
                                 output)
예제 #2
0
def group_by_seller(data_list):
    pay_dict = {}

    for data in data_list:
        if data['pay_object'] not in pay_dict:
            pay_dict[data['pay_object']] = 0.0
        if data['pay_type'] == '支出':
            pay_dict[data['pay_object']] = round(pay_dict[data['pay_object']] + data['pay_num'], 2)
        elif data['pay_type'] == '收入':
            pay_dict[data['pay_object']] = round(pay_dict[data['pay_object']] - data['pay_num'], 2)

    pay_list = sorted(pay_dict.items(), key=lambda x: x[1])
    for value in pay_list:
        write(str(value).replace(' ', ''))
    write('===============商家分类====================')
예제 #3
0
def spend_on_seller(name, data_list):
    pay = 0.0

    for data in data_list:
        if re.search(name, data['pay_object']):
            if data['pay_type'] == '支出':
                pay = round(pay + data['pay_num'], 2)
                write(time.strftime("%Y-%m-%d %H:%M:%S", data['pay_time']), data['pay_object'], data['pay_num'])
            elif data['pay_type'] == '收入':
                pay = round(pay - data['pay_num'], 2)
                write(time.strftime("%Y-%m-%d %H:%M:%S", data['pay_time']), data['pay_object'], data['pay_num'], '收入')

    write(name, '的总消费:', pay)
    write('===================================')
예제 #4
0
def select_cost_between(min, max, data_list, pay_only=False):
    pay = 0.0

    for data in data_list:
        if not (min < data['pay_num'] < max):
            continue
        if data['pay_type'] == '支出':
            pay = round(pay + data['pay_num'], 2)
            write(time.strftime("%Y-%m-%d %H:%M:%S", data['pay_time']),
                  data['pay_object'], data['pay_num'])
        elif data['pay_type'] == '收入' and pay_only is False:
            pay = round(pay - data['pay_num'], 2)
            write(time.strftime("%Y-%m-%d %H:%M:%S", data['pay_time']),
                  data['pay_object'], data['pay_num'], '收入')

    write(str(min) + '~' + str(max), '的总消费:', pay)
    write('===================================')
예제 #5
0
def count(data_list):
    pay = 0.0
    income = 0.0
    expenses = {}

    for data in data_list:
        if data['pay_type'] == '支出':
            pay = round(pay + data['pay_num'], 2)
            key = str(data['pay_time'].tm_year) + ' ' + str(data['pay_time'].tm_mon).zfill(2)
            if key not in expenses.keys():
                expenses[key] = 0.0
            expenses[key] = round(expenses[key] + data['pay_num'], 2)
        elif data['pay_type'] == '收入':
            income = round(income + data['pay_num'], 2)
            key = str(data['pay_time'].tm_year) + ' ' + str(data['pay_time'].tm_mon).zfill(2)
            if key not in expenses.keys():
                expenses[key] = 0.0
            expenses[key] = round(expenses[key] - data['pay_num'], 2)

    write('支出:', pay)
    write('收回:', income)
    write('实际支出:', round(pay - income, 2))
    write(' ')
    expenses_list = sorted(expenses.items(), key=lambda x: x[0])
    for item in expenses_list:
        write(item)
    write('===================================')