from flask import Flask, jsonify, request, current_app from cashman.model.expense import Expense, ExpenseSchema from cashman.model.income import Income, IncomeSchema from cashman.model.transaction_type import TransactionType import socket import json import psycopg2 as pg import pickle import traceback app = Flask(__name__) transactions = [ Income('Salary', 5000), Income('Dividends', 2000), Income('Venmo', 800), Expense('pizza', 50), Expense('Rock Concert', 100) ] # try: conn = pg.connect(dbname='postgres', user='******', password='******', host='192.168.99.102') cur = conn.cursor() # THESE LINES BELOW HAVE TO BE ADDED IF THE DATABASE IS BEING INITIALIZED # SOME COMBINATION OF "CREATE IF NOT EXISTS, AND INSERT" # cur.execute("ROLLBACK") # conn.commit()
from flask import Flask, jsonify, request from cashman.model.expense import Expense, ExpenseSchema from cashman.model.income import Income, IncomeSchema from cashman.model.transaction_type import TransactionType app = Flask(__name__) transactions = [ Income('Salary', 5000), Income('Dividends', 200), Expense('pizza', 50), Expense('Rock Concert', 100) ] @app.route('/incomes' def get_incomes(): """ 1. manyってなに? 2. filterの挙動を忘れた """ schema = IncomeSchema(many=True) incomes = schema.dump( filter(lambda t: t.type == TransactionType.INCOME, transactions ) ) return jsonify(incomes.data)
from flask import Flask, jsonify, request from cashman.model.expense import Expense, ExpenseSchema from cashman.model.income import Income, IncomeSchema from cashman.model.transaction_type import TransactionType app = Flask(__name__) transactions = [ Income(1, 'Salary', 5000), Income(2, 'Dividends', 200), Expense(1, 'pizza', 50), Expense(2, 'Rock Concert', 100) ] @app.route('/incomes') #GET receitas def get_incomes(): schema = IncomeSchema(many=True) incomes = schema.dump( filter(lambda t: t.type == TransactionType.INCOME, transactions)) return jsonify(incomes.data) @app.route('/incomes', methods=['POST']) #POST receitas def add_income(): income = IncomeSchema().load(request.get_json()) #JSON -> Dados transactions.append(income.data) #Insere dados return "", 204 # Codigo de Status HTTP 204 - The server has successfully fulfilled the request