def addProduto():
    body = request.get_json()
    try:
        produto = Produto(id=body["id"],
                          codigo=body["codigo"],
                          descricao=body["descricao"],
                          valorUnitario=body["valorUnitario"])
        listaProdutos.append(produto)
        return geraResponse(201, "produto", produto.to_json(),
                            "Criado com sucesso")
    except Exception as e:
        print('Erro', e)
        return geraResponse(400, "produto", {}, "Erro ao cadastrar")
예제 #2
0
def change(event):
	global produtos
	global etag
	if etag == None:
		ret = db.reference('/produtos').get(etag=True)
		etag = ret[1]
		for key, item in ret[0].items():
			produto = Produto.fromJSON(item, key)
			produtos.update({ key: produto })
	else:
		ret = db.reference('/produtos').get_if_changed(etag)
		if ret[0]:
			etag = ret[2]
			produtos.clear()
			for key, item in ret[1].items():
				produto = Produto.fromJSON(item, key)
				produtos.update({ key: produto })
예제 #3
0
def cadastrar_produto() -> None:
    print('Cadastro do produto')
    print('---------------------')
    nome: str = input('Digite o nome do produto:')
    preco: float = float(input('Informe o preço do produto: '))
    produto: Produto = Produto(nome, preco)
    produtos.append(produto)
    print(f'O produto {produto.nome} foi cadastrado com sucesso')
    sleep(1)
    menu()
예제 #4
0
파일: main.py 프로젝트: Eduardo681/Python
def cadastrar_produto() -> None:
    print(f" Cadastro de produto ".center(50, '='))
    print('=' * 50)
    nome: str = input('Informe o nome do produto: ')
    preco: float = float(input('Informe o preço do produto: '))
    produto: Produto = Produto(nome, preco)
    produtos.append(produto)
    print(f'O produto {produto.nome} foi cadastrado com sucesso')
    sleep(2)
    menu()
예제 #5
0
def produtos_create():
    if request.method == 'GET':
        return render_template("produto/create.html")
    else:
        nome = request.form['nome']
        preco = request.form['preco']

        produto = Produto(nome, preco)
        produto_repository.save(produto)

        return redirect(url_for("produtos"))
예제 #6
0
def cadastrar_produto() -> None:
    print('=-' * 15)
    print('-=- Cadastro de Produto! =-=')
    print('=-' * 15)
    nome: str = input('Informe o nome do produto: ')
    preco: float = float(input('Informe o preço do produto: '))
    produto: Produto = Produto(nome, preco)
    produtos.append(produto)
    print(f'O produto {produto.nome} foi cadastrado com sucesso.')
    sleep(2)
    menu()
예제 #7
0
def produtos_update(id):
    if request.method == 'GET':
        produtos = produto_repository.get(id)
        return render_template("produto/edit.html", produtos=produtos)
    else:
        nome = request.form['nome']
        preco = request.form['preco']

        produtos = Produto(nome, preco, id)
        produto_repository.save(produtos)

        return redirect(url_for("produtos"))
예제 #8
0
def cadastrar_produto() -> None:
    print('Cadastro de Produto')
    print('-------------------')

    nome: str = input('Informe o nome do produto: ')
    preco: float = float(input('Informe o valor do produto: '))

    produto: Produto = Produto(nome, preco)

    produtos.append(produto)

    print(f'Produto {produto.nome} com valor de {formatar_real_moeda(produto.preco)} foi cadastrado com sucesso!')

    sleep(2)
    menu()
예제 #9
0
def cadastrar_produto():
    print('===================================')
    print('======= Cadastro do Produto =======')
    print('===================================')

    nome: str = input('Informe o nome do produto: ')
    preco: float = float(input('Informe o preço do produto: '))

    produto: Produto = Produto(nome, preco)

    produtos.append(produto)

    print(f'O produto {produto.nome} foi cadastrado com sucesso!')
    sleep(1)
    menu()
예제 #10
0
    def get(self, id=None):
        cursor = self.__db.connection.cursor()
        if (id):
            sql_command = "SELECT id, nome, preco_unitario from produto WHERE id = %s"

            cursor.execute(sql_command, (id, ))

            tupla = cursor.fetchone()

            clientes = Produto(tupla[1], tupla[2], id=tupla[0])
        else:
            sql_command = "SELECT id, nome, preco_unitario from produto"
            cursor.execute(sql_command)
            clientes = self.transform_produto(cursor.fetchall())

        return clientes
def test_fetchPreco():
    if main.fb_app is None:
        main.defineConfigs()
    l = Loja("Kabum", "meta", "itemprop", "price")
    l = rep_loja.add(l)
    l = rep_loja.getById(l._id)
    p = Produto(
        l,
        Variacao(Modelo(Marca(""), Arquitetura("", 0), 2020, "teste"),
                 "AMD Ryzen 5 1600"),
        "https://www.kabum.com.br/produto/107545/processador-amd-ryzen-5-1600-cache-19mb-3-2ghz-3-6ghz-max-turbo-am4-yd1600bbafbox"
    )
    p = rep_produto.add(p)
    p = rep_produto.getById(p._id)
    preco = req.fetchPreco(p)
    assert type(preco) is Produto
예제 #12
0
def cadastrar_produto():
    '''
    ROTA QUE EXECUTA TODA A LÓGICA DE CADASTRO DE PRODUTO

    @autor: Luciano Gomes Vieira dos Anjos -
    @data: 15/09/2020 -
    @URL: http://localhost:5000/cadastrar_produto - 
    @versao: 1.0.0
    '''
    info_produto = []
    for field in request.form.values():
        info_produto.append(field)
    produto = Produto(info_produto[0],
                      tipo_produto_dao.get_id_tipo(info_produto[1])[0])
    produto_dao.cadastrar_produto(produto)
    flash("Produto cadastrado com sucesso!")
    return redirect(url_for('form_gerenciamento_estoque'))
예제 #13
0
def cadastrar_produto() -> None:
    """Função responsável pelo cadastramento de um produto. Solicita ao
    usuário as informações do mesmo, como nome e preço, e o adiciona à
    lista 'produtos'."""

    print('Cadastro de produto\n'
          '===================')

    produto: Produto = Produto(
        input('Nome do produto: '),
        float(input('Preço: '))
    )

    produtos.append(produto)

    print(f'Produto {produto.nome} adicionado com sucesso.')
    sleep(1)
    menu()
예제 #14
0
async def fetchPreco(produto: Produto, key: str, loja: Loja, semaphore,
                     session, callback):
    if produto and loja and loja.buscar:
        locale.setlocale(locale.LC_NUMERIC, "pt_BR.UTF-8")
        price = None
        val = 0.0
        status = 'ok'
        try:
            if loja.nome == 'Pichau':
                await asyncio.sleep(random.randrange(20, 60))
            (text, code) = await bound_fetch(semaphore, produto.link, session)
            soup = BeautifulSoup(text, "html.parser")
            price = soup.find(loja.tag,
                              attrs={loja.propriedade: loja.atributo})
            if code != None:
                status = 'er'
                logging.error("Not found - {} - {}".format(
                    produto.link, produto._id))
            elif price != None:
                if loja.nome == 'Kabum' and soup.find(
                        'div', attrs={'class': 'botao-comprar'}) != None:
                    #val = float(price["content"])
                    val = locale.atof(
                        price.contents[5].contents[1].contents[1].contents[7].
                        contents[1].contents[1].contents[1].contents[0].string.
                        split('R$')[1])
                elif loja.nome == 'Pichau' and soup.find(
                        'div', attrs={'class': 'stock available'}) != None:
                    val = locale.atof(price.contents[1].string.split('R$')[1])
                elif loja.nome == 'TerabyteShop' and soup.find(
                        'div', attrs={'id': 'indisponivel'}) == None:
                    val = locale.atof(price.contents[0])
                else:
                    status = 'no'
            else:
                status = 'er'
        except IndexError:
            try:
                price = soup.find('span',
                                  attrs={'class': 'preco_desconto_avista-cm'})
                if price == None:
                    price = soup.find('span',
                                      attrs={
                                          'class': 'preco_desconto'
                                      }).contents[1].contents[1].contents[1]
                    val = locale.atof(price.string.split('R$')[1])
                else:
                    val = locale.atof(price.contents[0].string.split('R$')[1])
            except AttributeError as e:
                logging.error("No price - {} - {}".format(produto.link, e))
                status = 'er'
            except Exception as e:
                exc_type, exc_obj, exc_tb = sys.exc_info()
                fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
                logging.error(e)
                logging.error(exc_type, fname, exc_tb.tb_lineno)
                status = 'er'
        except ValueError:
            status = 'ba'
        except ConnectionError:
            status = 'of'
        except Exception as e:
            exc_type, exc_obj, exc_tb = sys.exc_info()
            fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
            logging.error(e)
            logging.error(exc_type, fname, exc_tb.tb_lineno)
            status = 'er'
        finally:
            if val > 0.0 and (not produto.precos
                              or produto.precos[-1:][0][0] != val):
                if not produto.precos:
                    produto.precos = []
                produto.status = status
                produto.precos.append(
                    [val, datetime.datetime.now().timestamp()])
                if len(produto.precos) > 1:
                    await push.sendNotification(produto)
                return callback(produto, key)
            elif produto.status != status:
                produto.status = status
                return callback(produto, key)
예제 #15
0
from models.produto import Produto

ps4 = Produto('Playstation 4', 2000.00)
xbox = Produto('Xbox One S', 1899.99)

print(ps4)
print(xbox)
    return Response(json.dumps(body),
                    status=status,
                    mimetype="application/json")


#clientes
cl01 = Cliente(0, "Ricardo Duarte Taveira", 101, '072.406.301-00',
               'Pessoa física')
cl02 = Cliente(1, "Nilton Luan Guedes", 100, '123.456.789-01', 'Pessoa fisica')
cl03 = Cliente(2, "Joao Lucas", 200, '123.456.789-02', 'Pessoa fisica')

listaClientes = [cl01, cl02, cl03]

#produtos
pr01 = Produto(0, 100, 'Arroz Branco', 5.70)
pr02 = Produto(1, 200, 'Macarrão Parafuso', 6.25)
pr03 = Produto(2, 300, 'Feijão Preto', 4.99)

listaProdutos = [pr01, pr02, pr03]

#notafiscal
nf01 = NotaFiscal(0, 100, cl01)
nf02 = NotaFiscal(1, 200, cl02)
nf03 = NotaFiscal(2, 300, cl03)

listaNF = [nf01, nf02, nf03]

#itemnotafiscal
item1 = ItemNotaFiscal(0, 1, 2, pr01)
item2 = ItemNotaFiscal(1, 1, 5, pr01)
예제 #17
0
from models.produto import Produto

ps4 = Produto('Playstation 4', 1890.99)
xbox = Produto('Xbox', 1790.99)

print(ps4)
print(xbox)
예제 #18
0
def loja():
    lista = Produto.listar_produtos()
    return render_template("loja.html", lista=lista)
예제 #19
0
 def create_produto_tuple(tupla):
     return Produto(tupla[1], tupla[2], id=tupla[0])
예제 #20
0
파일: teste.py 프로젝트: Eduardo681/Python
from models.produto import Produto

ps4 = Produto('PS4', 1789.44)
xbox = Produto('X-Box', 2789.44)
print(ps4)
print(xbox)
예제 #21
0
from models.produto import Produto

ps4 = Produto('Playstation 4', 1789.44)
xbox = Produto('Xbox 360', 1699.00)

print(ps4)
print(xbox)
예제 #22
0
from models.produto import Produto


class ItemNotaFiscal():
    def __init__(self, id, sequencial, quantidade, produto):
        self._id = id
        self._sequencial = sequencial
        self._quantidade = quantidade
        self._produto = produto
        self._descricao = self._produto.getDescricao()
        self._valorUnitario = self._produto.getValorUnitario()
        self._valorItem = float(self._quantidade * self._valorUnitario)

    def to_json(self):
        return {
            "id": self._id,
            "sequencial": self._sequencial,
            "quantidade": self._quantidade,
            "produto": self._produto.to_json(),
            "descricao": self._descricao,
            "valorUnitario": self._valorUnitario,
            "valorItem": self._valorItem
        }


if __name__ == '__main__':
    produto = Produto(1, 100, 'Arroz', 5.5)
    item = ItemNotaFiscal(1, 1, 12, produto)
    print(item.str())
예제 #23
0
from models.produto import Produto

ps4 = Produto('Playstation 4', 2499.00)
xbox = Produto('XBOX 360', 1499.00)

print(ps4)
print(xbox)