def buscarUsuario(self, id_usuario=None, email=None): if ((not id_usuario and not email) or (id_usuario is None and email is None)): return [{}] query = "SELECT * FROM usuarios WHERE 1 = 1 " if id_usuario and isinstance(id_usuario, int) and id_usuario > 0: query += " AND id_usuario = %d" % id_usuario if email and len(email) > 10: query += " AND email = '%s'" % email self.conexao = Banco() cur = self.conexao.conectar() cur.execute(query) sql = cur.fetchall() cur.close() for a in sql: return self.criaUsuario(id_usuario=a['id_usuario'], id_tipo_usuario=a['id_tipo_usuario'], nome=a['nome'], ddd_telefone=a['ddd_telefone'], telefone=a['telefone'], ddd_celular=a['ddd_celular'], celular=a['celular'], email=a['email'], cep_atual=a['cep_atual'], latitude_atual=a['latitude_atual'], longitude_atual=a['logitude_atual']) else: return self.criaUsuario()
def mapear(self): self.conexao = Banco().conectar() query = "UPDATE usuarios SET nome = %s " +\ " AND ddd_telefone = %d" +\ " AND telefone = %d" +\ " AND ddd_celular = %d" +\ " AND celular = %d" +\ " AND email = %s" +\ " AND cep_atual = %s" +\ " AND latitude_atual = %f" +\ " AND longitude_atual = %f" query % (self.getNome(), self.ddd_telefone, self.telefone, self.ddd_celular, self.celular, self.email, self.cep_atual and self.cep_atual or 'null', self.latitude_atual and self.latitude_atual or 'null', self.longitude_atual and self.longitude_atual or 'null') if self.getId() and self.getId() > 0: query += " WHERE id_usuario = %d" query % self.getId() self.conexao.execute(query) self.conexao.close()
def buscarUsuarioCrendenciais(self, email, senha): query = (("""SELECT * FROM usuarios WHERE email = '%s' AND senha = '%s'""") % (email, senha)) self.conexao = Banco() cur = self.conexao.conectar() cur.execute(query) sql = cur.fetchall() cur.close() for u in sql: return self.criaUsuario(id_usuario=a['id_usuario'], id_tipo_usuario=a['id_tipo_usuario'], nome=a['nome'], ddd_telefone=a['ddd_telefone'], telefone=a['telefone'], ddd_celular=a['ddd_celular'], celular=a['celular'], email=a['email'], cep_atual=a['cep_atual'], latitude_atual=a['latitude_atual'], longitude_atual=a['logitude_atual']) else: return self.criaUsuario()
class ServicosPersistencia(Servico): """ Classe persistencia de servico que permite gerenciar objetos do tipo servico """ def __init__(self): self.conexao = Banco().conectar() def buscaServico(self, id): query = 'SELECT * FROM servicos WHERE 1=1 id_servico = %d' % (id) for s in self.conexao.execute(query): return Servico(id_servico=s.id_servico, servico=s.servico, descricao=s.descricao) def buscaListaServicos(self, lista): lista = [] query = ('SELECT * FROM servicos WHERE 1=1 id_servico IN (%s)') %\ (','.join(str(x) for x in lista)) for s in self.conexao.execute(query): lista.append(Servico(id_servico=s.id_servico, servico=s.servico, descricao=s.descricao)) return lista
class ServicosPersistencia(Servico): """ Classe persistencia de servico que permite gerenciar objetos do tipo servico """ def __init__(self): self.conexao = Banco().conectar() def buscaServico(self, id): query = 'SELECT * FROM servicos WHERE 1=1 id_servico = %d' % (id) for s in self.conexao.execute(query): return Servico(id_servico=s.id_servico, servico=s.servico, descricao=s.descricao) def buscaListaServicos(self, lista): lista = [] query = ('SELECT * FROM servicos WHERE 1=1 id_servico IN (%s)') %\ (','.join(str(x) for x in lista)) for s in self.conexao.execute(query): lista.append( Servico(id_servico=s.id_servico, servico=s.servico, descricao=s.descricao)) return lista
class Usuario(object): """ Classe abstrata de usuario """ def __init__(self, id_usuario=None, id_tipo_usuario=None, nome=None, ddd_telefone=None, telefone=None, ddd_celular=None, celular=None, email=None, cep_atual=None, latitude_atual=None, longitude_atual=None, senha=None): self.id_usuario = id_usuario self.id_tipo_usuario = id_tipo_usuario self.nome = nome self.ddd_telefone = ddd_telefone self.telefone = telefone self.ddd_celular = ddd_celular self.celular = celular self.email = email self.cep_atual = cep_atual self.latitude_atual = latitude_atual self.longitude_atual = longitude_atual self.senha = senha self.pesquisaUsuarios = pesquisaUsuarios() def getId(self): return self.id_usuario def getNome(self): return self.nome def getIdTipo(self): return self.id_tipo_usuario def getCep(self): return self.cep_atual def getLatitude(self): return self.latitude_atual def getLongitude(self): return self.longitude_atual def setId(self, id): self.id_usuario = id def setNome(self, nome): self.nome = nome def setIdTipo(self, id): self.id_tipo_usuario = id def setCep(self, c): self.cep_atual = c def setLatitude(self, l): self.latitude_atual = l def setLongitude(self, l): self.longitude_atual = l def persiste(self, id_usuario, id_tipo_usuario, nome, ddd_telefone, telefone, ddd_celular, celular, email, cep_atual, latitude_atual, longitude_atual): self.setId(id_usuario) self.setNome(nome) self.id_tipo_usuario = id_tipo_usuario self.ddd_telefone = ddd_telefone self.telefone = telefone self.ddd_celular = ddd_celular self.celular = celular self.email = email self.cep_atual = cep_atual self.latitude_atual = latitude_atual self.longitude_atual = longitude_atual def getToString(self): return { 'id_usuario': self.getId(), 'id_tipo_usuario': self.id_tipo_usuario, 'nome': self.getNome(), 'ddd_telefone': self.ddd_telefone, 'telefone': self.telefone, 'ddd_celular': self.ddd_celular, 'celular': self.celular, 'email': self.email, 'cep_atual': self.cep_atual, 'latitude_atual': self.latitude_atual, 'logitude_atual': self.longitude_atual } def inserir(self): return self.pesquisaUsuarios.inserir_usuario( self.getIdTipo(), self.getNome(), self.ddd_telefone, self.telefone, self.ddd_celular, self.celular, self.email, self.getCep(), self.getLatitude(), self.getLongitude(), self.senha) def mapear(self): self.conexao = Banco().conectar() query = "UPDATE usuarios SET nome = %s " +\ " AND ddd_telefone = %d" +\ " AND telefone = %d" +\ " AND ddd_celular = %d" +\ " AND celular = %d" +\ " AND email = %s" +\ " AND cep_atual = %s" +\ " AND latitude_atual = %f" +\ " AND longitude_atual = %f" query % (self.getNome(), self.ddd_telefone, self.telefone, self.ddd_celular, self.celular, self.email, self.cep_atual and self.cep_atual or 'null', self.latitude_atual and self.latitude_atual or 'null', self.longitude_atual and self.longitude_atual or 'null') if self.getId() and self.getId() > 0: query += " WHERE id_usuario = %d" query % self.getId() self.conexao.execute(query) self.conexao.close()
class UsuariosPersistencia(object): """ Classe persistencia de usuarios que permite gerenciar objetos do tipo usuario """ def __init__(self): self.conexao = Banco().conectar() self.pesquisa = pesquisaUsuarios() def criaUsuario(self, id_usuario=None, id_tipo_usuario=None, nome=None, ddd_telefone=None, telefone=None, ddd_celular=None, celular=None, email=None, cep_atual=None, latitude_atual=None, longitude_atual=None): if id_tipo_usuario is None or not id_tipo_usuario: return UsuariosPersistente(id_usuario=id_usuario, id_tipo_usuario=id_tipo_usuario, nome=nome, ddd_telefone=ddd_telefone, telefone=telefone, ddd_celular=ddd_celular, celular=celular, email=email, cep_atual=cep_atual, latitude_atual=latitude_atual, longitude_atual=longitude_atual) elif id_tipo_usuario == 1: return PrestadorPersistente(id_usuario=id_usuario, id_tipo_usuario=id_tipo_usuario, nome=nome, ddd_telefone=ddd_telefone, telefone=telefone, ddd_celular=ddd_celular, celular=celular, email=email, cep_atual=cep_atual, latitude_atual=latitude_atual, longitude_atual=longitude_atual) elif id_tipo_usuario == 2: return ClientePersistente(id_usuario=id_usuario, id_tipo_usuario=id_tipo_usuario, nome=nome, ddd_telefone=ddd_telefone, telefone=telefone, ddd_celular=ddd_celular, celular=celular, email=email, cep_atual=cep_atual, latitude_atual=latitude_atual, longitude_atual=longitude_atual) def buscarUsuarioCrendenciais(self, email, senha): query = (("""SELECT * FROM usuarios WHERE email = '%s' AND senha = '%s'""") % (email, senha)) self.conexao = Banco() cur = self.conexao.conectar() cur.execute(query) sql = cur.fetchall() cur.close() for u in sql: return self.criaUsuario(id_usuario=a['id_usuario'], id_tipo_usuario=a['id_tipo_usuario'], nome=a['nome'], ddd_telefone=a['ddd_telefone'], telefone=a['telefone'], ddd_celular=a['ddd_celular'], celular=a['celular'], email=a['email'], cep_atual=a['cep_atual'], latitude_atual=a['latitude_atual'], longitude_atual=a['logitude_atual']) else: return self.criaUsuario() def buscarUsuario(self, id_usuario=None, email=None): if ((not id_usuario and not email) or (id_usuario is None and email is None)): return [{}] query = "SELECT * FROM usuarios WHERE 1 = 1 " if id_usuario and isinstance(id_usuario, int) and id_usuario > 0: query += " AND id_usuario = %d" % id_usuario if email and len(email) > 10: query += " AND email = '%s'" % email self.conexao = Banco() cur = self.conexao.conectar() cur.execute(query) sql = cur.fetchall() cur.close() for a in sql: return self.criaUsuario(id_usuario=a['id_usuario'], id_tipo_usuario=a['id_tipo_usuario'], nome=a['nome'], ddd_telefone=a['ddd_telefone'], telefone=a['telefone'], ddd_celular=a['ddd_celular'], celular=a['celular'], email=a['email'], cep_atual=a['cep_atual'], latitude_atual=a['latitude_atual'], longitude_atual=a['logitude_atual']) else: return self.criaUsuario() def buscaListaUsuarios(self, lista=None): lst = [] if lista is None: for u in self.pesquisa.busca_usuarios_cep_desatualizado(): u = dict(u) lst.append( self.criaUsuario(id_usuario=u['id_usuario'], id_tipo_usuario=u['id_tipo_usuario'], nome=u['nome'], email=u['email'], cep_atual=u['cep_atual'], latitude_atual=u['latitude_atual'], longitude_atual=u['logitude_atual'])) return lst
def __init__(self): self.conexao = Banco().conectar() self.pesquisa = pesquisaUsuarios()
def __init__(self): self.conexao = Banco().conectar()
class Usuario(object): """ Classe abstrata de usuario """ def __init__(self, id_usuario=None, id_tipo_usuario=None, nome=None, ddd_telefone=None, telefone=None, ddd_celular=None, celular=None, email=None, cep_atual=None, latitude_atual=None, longitude_atual=None, senha=None): self.id_usuario = id_usuario self.id_tipo_usuario = id_tipo_usuario self.nome = nome self.ddd_telefone = ddd_telefone self.telefone = telefone self.ddd_celular = ddd_celular self.celular = celular self.email = email self.cep_atual = cep_atual self.latitude_atual = latitude_atual self.longitude_atual = longitude_atual self.senha = senha self.pesquisaUsuarios = pesquisaUsuarios() def getId(self): return self.id_usuario def getNome(self): return self.nome def getIdTipo(self): return self.id_tipo_usuario def getCep(self): return self.cep_atual def getLatitude(self): return self.latitude_atual def getLongitude(self): return self.longitude_atual def setId(self, id): self.id_usuario = id def setNome(self, nome): self.nome = nome def setIdTipo(self, id): self.id_tipo_usuario = id def setCep(self, c): self.cep_atual = c def setLatitude(self, l): self.latitude_atual = l def setLongitude(self, l): self.longitude_atual = l def persiste(self, id_usuario, id_tipo_usuario, nome, ddd_telefone, telefone, ddd_celular, celular, email, cep_atual, latitude_atual, longitude_atual): self.setId(id_usuario) self.setNome(nome) self.id_tipo_usuario = id_tipo_usuario self.ddd_telefone = ddd_telefone self.telefone = telefone self.ddd_celular = ddd_celular self.celular = celular self.email = email self.cep_atual = cep_atual self.latitude_atual = latitude_atual self.longitude_atual = longitude_atual def getToString(self): return {'id_usuario': self.getId(), 'id_tipo_usuario': self.id_tipo_usuario, 'nome': self.getNome(), 'ddd_telefone': self.ddd_telefone, 'telefone': self.telefone, 'ddd_celular': self.ddd_celular, 'celular': self.celular, 'email': self.email, 'cep_atual': self.cep_atual, 'latitude_atual': self.latitude_atual, 'logitude_atual': self.longitude_atual} def inserir(self): return self.pesquisaUsuarios.inserir_usuario( self.getIdTipo(), self.getNome(), self.ddd_telefone, self.telefone, self.ddd_celular, self.celular, self.email, self.getCep(), self.getLatitude(), self.getLongitude(), self.senha) def mapear(self): self.conexao = Banco().conectar() query = "UPDATE usuarios SET nome = %s " +\ " AND ddd_telefone = %d" +\ " AND telefone = %d" +\ " AND ddd_celular = %d" +\ " AND celular = %d" +\ " AND email = %s" +\ " AND cep_atual = %s" +\ " AND latitude_atual = %f" +\ " AND longitude_atual = %f" query % (self.getNome(), self.ddd_telefone, self.telefone, self.ddd_celular, self.celular, self.email, self.cep_atual and self.cep_atual or 'null', self.latitude_atual and self.latitude_atual or 'null', self.longitude_atual and self.longitude_atual or 'null') if self.getId() and self.getId() > 0: query += " WHERE id_usuario = %d" query % self.getId() self.conexao.execute(query) self.conexao.close()