SHARE
TWEET

Untitled

a guest Jan 19th, 2019 49 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import pyodbc
  2. from modulos import db
  3.  
  4. class User:
  5.     def __init__(self, idusuario):
  6.         query = """SELECT IDUSUARIO, CPF, EMAIL, NOME, SOBRENOME, DATA_NASCIMENTO
  7.                 FROM USUARIO WHERE IDUSUARIO = ?;"""
  8.  
  9.         cursor = db.connection.cursor()
  10.         row = cursor.execute(query, (idusuario)).fetchone()
  11.  
  12.         self.idusuario = row.IDUSUARIO
  13.         self.cpf = row.CPF
  14.         self.email = row.EMAIL
  15.         self.nome = row.NOME
  16.         self.sobrenome = row.SOBRENOME
  17.         self.data_nascimento = row.DATA_NASCIMENTO
  18.  
  19.     def __repr__ (self):
  20.         return "idusuario: {}, cpf: {}, email: {}, nome: {}, sobrenome: {}, data de nascimento: {}.".format(self.idusuario, self.cpf, self.email, self.nome, self.sobrenome, self.data_nascimento)
  21.    
  22. from user import User
  23.  
  24. usuario = User(1)
  25.  
  26. print(usuario)
  27.    
  28. class User:
  29.     def __init__(self, idusuario=None, cpf=None, email=None, nome=None, sobrenome=None, data_nascimento=None):
  30.  
  31.         self.idusuario = idusuario
  32.         self.cpf = cpf
  33.         self.email = email
  34.         self.nome = nome
  35.         self.sobrenome = sobrenome
  36.         self.data_nascimento = data_nascimento
  37.  
  38.     @classmethod
  39.     def from_db(cls, id):
  40.         query = """SELECT IDUSUARIO, CPF, EMAIL, NOME, SOBRENOME, DATA_NASCIMENTO
  41.                 FROM USUARIO WHERE IDUSUARIO = ?;"""
  42.  
  43.         cursor = db.connection.cursor()
  44.         row = cursor.execute(query, (idusuario)).fetchone()
  45.         return User(idusuario = row.IDUSUARIO, cpf=row.CPF, email=row.EMAIL sobrenome=row.SOBRENOME, data_nascimento=row.DATA_NASCIMENTO)
  46.    
  47. class Base:
  48.     _fields = []
  49.     _table = ""
  50.     _idcol = ""
  51.  
  52.     def __init__(self, **kwargs):
  53.         for key, value in kwargs.items():
  54.             setattr(self, key, value)
  55.  
  56.     @classmethod
  57.     def from_db(cls):
  58.         query = """SELECT {fields} FROM {table} WHERE {idcol} = ?;""".format(
  59.             fields=", ".join(upper(field) for field in cls._fields),
  60.             table = cls._table,
  61.             idcol=cls._idcol
  62.         )
  63.         cursor = db.connection.cursor()
  64.         row = cursor.execute(query, (idusuario)).fetchone()
  65.         return cls(**{field:getattr(row, field.upper()) for field in cls._fields})
  66.  
  67. class User(Base):
  68.     _fields = "IDUSUARIO CPF EMAIL NOME SOBRENOME DATA_NASCIMENTO".lower().split()
  69.     _idcol = "ideusuario"
  70.     _table = "USUARIO"
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top