Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: UTF-8 -*-
- # Import de configuração do django para wsgi
- try:
- from django.conf import settings
- settings.configure(DEBUG=True, TEMPLATE_DEBUG=True,TEMPLATE_DIRS=('/tmp', '/tmp'))
- except:
- pass
- from django.core.handlers.wsgi import WSGIRequest
- #Python Imports
- import psycopg2
- import cgi,cgitb
- # classe testew
- class testew:
- """ teste ! """
- def __init__(self, action, ):
- """ Constructor da classe testew """
- if(not action): action = 'listar'
- self.action = action
- if(self.action in ('listar','editar','processarcadastrar','processareditar') ):
- conn = psycopg2.connect("dbname=db_produto user=postgres password=532146")
- self.Cursor = conn.cursor()
- #
- def listar(self, ):
- """ listar """
- self.Cursor.execute("select * from tbl_produto")
- produtos = ''
- cabecalho = '<html><head></head><body><div align="center"><h1>Lista de Produtos</h1><table bgcolor="burlywood">'
- rodape = '</table><a href="index.py?acao=cadastrar"><button type="submit" value="Cadastrar" method="get">Cadastrar Novo Produto</a></button><p></div></body></html>'
- for tab in self.Cursor:
- edit = '<a href="index.py?acao=editar&id_produto=%s" method="get"><button type="submit" value="Editar">Editar</button></a>' % (tab[0])
- tab = ('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>' % (tab[1],tab[2],tab[3],tab[4],edit))
- produtos += tab
- id_produto = tab[0]
- pagina = cabecalho + produtos + rodape
- return pagina
- def editar(self, id_produto):
- """ editar """
- self.Cursor.execute('select * from tbl_produto where cod_produto=%s;' % (id_produto))
- tab = ''
- cabecalho = '<html><head></head><body><div align="center"><h1>Edição de Produto</h1><div align="center"><h1>Dados sobre o produto</h1><form method="POST" name="edit" action="index.py?acao=processareditar&id_produto=%s"><fieldset><legend><b>Dados do Produto</b></legend>' % (id_produto)
- rodape = '<button type="submit">*** Grava ***</button></form></div></body></html>'
- for tab1 in self.Cursor:
- tab += '<label><input type="hidden" name="id_produto" value="%s"></input></label>' % (tab1[0])
- tab += '<br/><label>Nome: <br/><input type="text" name="nome" value="%s"></input></label><br/>' % (tab1[1])
- tab +='<label>Preço:<br/><input type="float" name="preco" value=%s></input></label><br/>' % (tab1[2])
- tab +='<label>Quantidade:<br/><input type="int" name="quantidade" value=%s></input></label><br/>' % (tab1[3])
- tab += '<label>Fabricante <br/><input type="text" name="fabricante" value="%s"></input></label><br/> ' % (tab1[4])
- pagina = cabecalho + tab + rodape
- return pagina
- # Processar editar
- def processareditar(self,nome,preco,quantidade,fabricante,id_produto):
- """ a"""
- sql = ("BEGIN TRANSACTION; UPDATE tbl_produto SET nome='%s', preco=%s, quantidade=%s, fabricante='%s' WHERE cod_produto=%s ;COMMIT;" % (nome,preco,quantidade,fabricante,id_produto))
- self.Cursor.execute(sql)
- pagina = """<html><head>
- <title>Confirmação de Edição de Registro</title>
- </head><body>
- <div align="center"><h1>Dados cadastrados com sucesso</h1>
- <a href="index.py"><button value="Voltar">Voltar</button></a>
- </div></body></html>"""
- return pagina
- #
- def cadastrar(self, ):
- """ cadastrar """
- cadastro = """ <html><head></head><body>
- <h1>Cadastro de Produtos</h1>
- <form method="POST" name="form" action="index.py?acao=processarcadastrar">
- <fieldset>
- <legend><b>Dados do Produto</b></legend>
- <br/><label>Nome: <br/>
- <input type="text" name="nome"/>
- </label><br/>
- <label>Preço:<br/><input type="float" name="preco"/>
- </label><br/>
- <label>Quantidade:<br/><input type="int" name="quantidade"/>
- </label><br/>
- <label>Fabricante <br/><input type="text" name="fabricante"/>
- </label><br/>
- <button type="submit" value="Cadastrar">Cadastrar</button><input type="reset" value="Limpar"/>
- </fieldset>
- </form>
- </body>
- </html>
- """
- return cadastro
- #
- def processarcadastrar(self,nome,preco,quantidade,fabricante):
- """ aaa """
- sql = "BEGIN TRANSACTION; insert into tbl_produto(nome,preco,quantidade,fabricante)values('%s', %s, %s, '%s');COMMIT;" %(nome,preco,quantidade,fabricante)
- self.Cursor.execute(sql)
- pagina = """<html><head>
- <title>Confirmação de cadastro</title>
- </head><body>
- <div align="center"><h1>Dados cadastrados com sucesso</h1>
- <form action="index.py?acao=listar"><button value="Página Inicial" type="submit">Página Inicial</button></form>
- </div></body></html>"""
- return pagina
- #
- def application(environ, start_response):
- """
- teste aplication WSGI
- """
- #Request
- request = WSGIRequest(environ).GET
- id_produto = str(request.get('id_produto', ''))
- acao = str(request.get('acao', ''))
- output = "id_produto: *%s*" %(id_produto)
- obj = testew(acao)
- #Tratando o executar
- # import pdb;pdb.set_trace()
- if(acao == 'editar'):
- output = str(obj.editar(id_produto))
- elif(acao == 'cadastrar'):
- output = str(obj.cadastrar())
- elif(acao == 'processarcadastrar'):
- request = WSGIRequest(environ).POST
- nome = str(request.get('nome',''))
- preco = str(request.get('preco',''))
- quantidade = str(request.get('quantidade','') )
- fabricante = str(request.get('fabricante','') )
- output = str(obj.processarcadastrar(nome,preco,quantidade,fabricante))
- elif(acao == 'processareditar'):
- request = WSGIRequest(environ).POST
- nome = str(request.get('nome',''))
- preco = str(request.get('preco',''))
- quantidade = str(request.get('quantidade','') )
- fabricante = str(request.get('fabricante','') )
- id_produto = str(request.get('id_produto',''))
- output = str(obj.processareditar(nome,preco,quantidade,fabricante,id_produto))
- else:
- output = str(obj.listar())
- ##
- #Return
- status = '200 OK'
- response_headers = [('Content-type', 'text/html'),
- ('Content-Length', str(len(output)))]
- start_response(status, response_headers)
- return [output]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement