Ejemplo n.º 1
0
    def post(self):
        args = parser.parse_args()
        cnpj = args['estabelecimento']
        cpf = args['cliente']
        value = args['valor']
        description = args['descricao']

        if not CPF().validate(cpf) or not CNPJ().validate(cnpj):
            return {'aceito': False}, 202

        cnpj = extract_numbers(cnpj)
        cpf = extract_numbers(cpf)

        store = Store.query.filter_by(cnpj=cnpj).first()
        if not store:
            store = Store(cnpj=cnpj)
            db.session.add(store)

        client = Client.query.filter_by(cpf=cpf).first()
        if not client:
            client = Client(cpf=cpf)
            db.session.add(client)

        transaction = Transaction(value=value, description=description)
        transaction.store = store
        transaction.client = client

        db.session.add(transaction)
        db.session.commit()

        return {'aceito': True}, 201
Ejemplo n.º 2
0
def resolve_first_degree(left, right):
    left_numbers, left_x = utils.extract_numbers(left, 1)
    left_numbers = utils.clean_list(left_numbers, 'left')
    left_x = utils.clean_vars(left_x, 'left')
    right_numbers, right_x = utils.extract_numbers(right, 1)
    right_numbers = utils.clean_list(right_numbers, 'right')
    right_x = utils.clean_vars(right_x, 'right')
    unkowns_cleaned, numbers_cleaned = utils.final_clean(
        left_x, right_x, left_numbers + right_numbers, 1)
    final_solver_first_degree(numbers_cleaned, unkowns_cleaned[1])
Ejemplo n.º 3
0
def resolve_second_degree(left, right):
    left_numbers, left_x = utils.extract_numbers(left, 2)
    left_numbers = utils.clean_list(left_numbers, 'left')
    left_x = utils.clean_vars(left_x, 'left')
    right_numbers, right_x = utils.extract_numbers(right, 2)
    right_numbers = utils.clean_list(right_numbers, 'right')
    right_x = utils.clean_vars(right_x, 'right')
    unkown_cleaned, numbers_cleaned = utils.final_clean(
        left_x, right_x, right_numbers + left_numbers, 1)
    if unkown_cleaned[2] == 0:
        final_solver_first_degree(numbers_cleaned, unkown_cleaned[1])
    else:
        final_solver_second_degree(unkown_cleaned[2], unkown_cleaned[1],
                                   numbers_cleaned)
    return 1
Ejemplo n.º 4
0
    def get(self):
        args = parser.parse_args()
        cnpj = args['cnpj']

        if not CNPJ().validate(cnpj):
            return {'mensagem': 'CNPJ é inválido'}, 202

        cnpj = extract_numbers(cnpj)
        store = Store.query.filter_by(cnpj=cnpj).first()
        if not store:
            return {
                'mensagem': 'Estabelecimento com esse CNPJ não encontrado'
            }, 202

        return {
            'estabelecimento': {
                'nome': store.name,
                'cnpj': format_cnpj(store.cnpj),
                'dono': store.owner,
                'telefone': store.phone
            },
            'recebimentos': [{
                'cliente': format_cpf(transaction.client.cpf),
                'valor': transaction.value,
                'descricao': transaction.description
            } for transaction in store.transactions],
            'total_recebido':
            sum(transaction.value for transaction in store.transactions)
        }, 201
Ejemplo n.º 5
0
def ut_dataset(action_path):
    print(action_path)
    raw = action_path.split('/')
    name = raw[-1]
    cat = raw[-2]
    person = utils.extract_numbers(name)[0]
    return name, cat, int(person)
Ejemplo n.º 6
0
def resolve_zero_degree(left, right):
    left_numbers = utils.extract_numbers(left, 0)
    left_numbers = utils.clean_list(left_numbers, 'left')
    right_numbers = utils.extract_numbers(right, 0)
    right_numbers = utils.clean_list(right_numbers, 'right')
    left_numbers = utils.final_clean({}, {}, left_numbers, 0)
    right_numbers = utils.final_clean({}, {}, right_numbers, 0)
    right_numbers *= -1
    if right_numbers == left_numbers:
        print(str(left_numbers) + '* X^0 = ' + str(right_numbers) + ' * X^0')
        print('The solution is: ')
        print('All real numbers')
    else:
        print(
            str(left_numbers) + ' is not equal to' + ' ' + str(right_numbers))
        print('There is no solution.')
Ejemplo n.º 7
0
def cp_dataset(action_path):
    action_name = action_path.split('/')[-1]
    raw = utils.extract_numbers(action_name)
    if (len(raw) > 2):
        name = "a%i_s%i_e%i" % (raw[0], raw[1], raw[2])
        return name, raw[0], raw[1]
    raise Exception("Wrong dataset format " + action_name + " " +
                    str(len(raw)))