Mostrando postagens com marcador cláusula SQL. Mostrar todas as postagens
Mostrando postagens com marcador cláusula SQL. Mostrar todas as postagens

sexta-feira, 24 de setembro de 2010

Scripts de listagem de dados

Maria Luíza Santinho Lima Monteiro

Bom dia!
Essa semana estive desenvolvendo os scripts de algumas listagens necessárias para o controle de dados do sistema. Segue o código abaixo:

def procurarUsuarioPorLoginPorSenha(self, login, senha):
      """
            @params = nome do usuario e senha.
            Retorna o usuarios com login e senha
      """

      logging.debug("%s: Procurando usuário por login (%s) e senha (%s)"%(str(time.asctime()), login, senha))
      cursor = self.connection.cursor()
      cursor.execute("SELECT id_usuario FROM usuario WHERE login=? AND senha=?",(login, senha,))
      usuario = None
      for row in cursor:
            usuario = Usuario(row['id_usuario'])
      return usuario


def listarUsuarioConfiguradorDeJogo(self):
      """
            Retorna lista de usuarios administradores e orientadores (são os que podem configurar o jogo)
      """

      logging.debug("%s: Listando usuários administradores e orientadores (são os que podem configurar o jogo)" %(str(time.asctime())))
      cursor = self.connection.cursor()
      cursor.execute("SELECT id_usuario FROM usuario WHERE id_grupo = 1 OR id_grupo = 2")
      listaUsuarios = []
      for row in cursor:
            usuario = Usuario(row['id_usuario'])
            listaUsuarios.append(usuario)
      return listaUsuarios


def listarTodosUsuariosAdministradores(self):
      """
            Retorna lista de usuários administradores
      """

      logging.debug("%s: Listando todos os administradores" %(str(time.asctime())))
      cursor = self.connection.cursor()
      cursor.execute("SELECT id_usuario FROM usuario WHERE id_grupo = 1")
      usuariosAdministradores = []
      for row in cursor:
            usuario = Usuario(row['id_usuario'])
            usuariosAdministradores.append(usuario)
      return usuariosAdministradores


def listarAdministradoresLogadosPorData(self, data_ultimo_login):
      """
            @params = data do ultimo login
            Retorna lista de administradores que logaram no dia anterior
      """

      logging.debug("%s: Listando administradores logados por data (%s)" %(str(time.asctime(), data_ultimo_login)))
      cursor = self.connection.cursor()
      cursor.execute("SELECT u.id_usuario, p.nome FROM pessoa AS p INNER JOIN usuario AS u WHERE p.id_pessoa = u.id_pessoa AND u.id_grupo = 1 AND u.data_ultimo_login = ?", data_ultimo_login)
      listaAdministradores = []
      for row in cursor:
            administrador = Usuario(row['u.id_usuario'])
            listaAdministradores.append(administrador)
      return listaAdministradores


def listarTodosUsuariosOrientadores(self):
      """
            Retorna lista de usuarios orientadores
      """

      logging.debug("%s: Listando usuários orientadores"%(str(time.asctime())))
      cursor = self.connection.cursor()
      cursor.execute("SELECT id_usuario FROM usuario WHERE id_grupo = 2")
      listaOrientador = []
      for row in cursor:
            usuario = Usuario(row['id_usuario'])
            listaOrientador.append(usuario)
      return listaOrientador


def listarTodosUsuariosAlunos(self):
      """
            Retorna lista de usuarios alunos
      """

      logging.debug("%s: Listando usuários alunos"%(str(time.asctime())))
      cursor = self.connection.cursor()
      cursor.execute("SELECT id_usuario FROM usuario WHERE id_grupo = 3")
      listaAlunos = []
      for row in cursor:
            usuario = Usuario(row['id_usuario'])
            listaAlunos.append(usuario)
      return listaAlunos


def ordenarAlunosPorPontuacao(self):
      """
            Retorna lista de pessoas (alunos) ordenados por pontuacao
      """

      logging.debug("%s: Ordenando alunos por pontuação"%(str(time.asctime())))
      cursor = self.connection.cursor()
      cursor.execute("SELECT u.id_usuario, pe.nome, po.valor_pontuacao FROM pessoa AS pe INNER JOIN pontuacao AS po INNER JOIN usuario AS u WHERE pe.id_pessoa = u.id_pessoa AND u.id_usuario = po.id_usuario AND u.id_grupo = 3 ORDER BY valor_pontuacao DESC")
      listaAlunos = []
      for row in cursor:
            usuario = Usuario(row['u.id_usuario'])
            listaAlunos.append(usuario)
      return listaAlunos