コード例 #1
0
ファイル: views.py プロジェクト: simplyvikram/se
def calculate_expenses(expense_file_id):

    monthly_expense_dict = ExpenseManager.monthly_expense_dict(expense_file_id)

    # This contains the monthly expense in decimal, convert to float'
    monthly_default_dict = {
        k: float(v) for k,v in monthly_expense_dict.iteritems()
    }

    return format_json(monthly_default_dict)
コード例 #2
0
ファイル: views.py プロジェクト: simplyvikram/se
def all_expense_files():

    expense_files = ExpenseManager.expense_files()

    resp = []
    for ef in expense_files:
        resp.append({
            'filename': ef.filename,
            'id': ef.id,
            'creation_timestamp': str(ef.utc_datetime)
        })

    return format_json(resp)
コード例 #3
0
ファイル: views.py プロジェクト: simplyvikram/se
def upload_csv():

    if request.method == 'POST':\

        f = request.files['file']
        if not f or not _allowed_file(f.filename):
            return 'Bad File'

        filename = secure_filename(f.filename)
        stream = io.StringIO(f.stream.read().decode("UTF8"), newline=None)
        csv_input = csv.reader(stream)

        expense_file, expenses = ExpenseManager.parse_csv_input(
            csv_input, filename
        )

        ExpenseManager.save_expenses(expense_file, expenses)

        expenses = map(lambda e: str(e), expenses)
        return format_json(expenses)

    return render_template('upload.html')