Ejemplo n.º 1
0
    def configure_database(self, database_info, db_connection):

        db = Database()
        username = db_connection["username"]
        password = db_connection["password"]
        dbname = database_info["db_name"]
        db.connect_db(username=username, password=password)

        # creating the database if not exist!
        query = "CREATE DATABASE IF NOT EXISTS " + dbname
        db.exec_query(query)
        db.close_db()

        # initializing the connection data into Database class!
        self.__database = Database(username=username,
                                   password=password,
                                   dbname=dbname)

        # creating the tables if not exists!
        self.__database.connect_db()
        for t in database_info["tables"]:

            # checking if table exists or not!
            cond = "table_schema='%s' and table_name='%s'" % (dbname,
                                                              t["table_name"])
            result = self.__database.get_rows("information_schema.tables",
                                              cond)

            if len(result) == 0:
                self.__database.create_table(t["table_name"],
                                             t["table_struct"])

        self.__database.close_db()
Ejemplo n.º 2
0
    def updateClient(self):
        """Atualiza as informações de um Cliente."""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o update
            cursor.execute("UPDATE Client SET name = '" + str(self.name) +
                           "', docno = " + str(self.docno) + "', phone = " +
                           str(self.phone) + "', cellphone = " +
                           str(self.cellphone) + "', address = " +
                           str(self.address) + "', neighborhood = " +
                           str(self.neighborhood) + "', city = " +
                           str(self.city) + "', state = " + str(self.state) +
                           " WHERE code = " + str(self.code) + " ")

            #Gravo as alterações
            database.conn.commit()

            #Fecho o cursor
            cursor.close()

            #Retorno OK
            return True
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 3
0
    def insertClient(self):
        """Insere um novo Cliente na base de dados."""

        #Se o produto foi criado sem um código, providencio um novo código.
        if self.code == None or self.code <= 0:
            self.code = nextCode()

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo a inserção
            cursor.execute(
                "INSERT INTO Client (code, name, docno, phone, cellphone, address, neighborhood, city, state) VALUES ("
                + str(self.code) + ", '" + str(self.name) + "', " +
                str(docno) + ", " + str(phone) + ", " + str(cellphone) + ", " +
                str(address) + ", " + str(neighborhood) + ", " + str(city) +
                ", " + str(state) + ")")

            #Gravo as alterações
            database.conn.commit()

            #Fecho o cursor
            cursor.close()

            #Retorno OK
            return str(True)
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return str(False)
Ejemplo n.º 4
0
    def nextCode(self):
        """Verifico qual é o próximo código de Cliente disponível."""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o select
            cursor.execute("SELECT MAX(code) FROM Client")

            #Guardo o número de registros retornado
            count = cursor.fetchone()[0]

            #Fecho o cursor
            cursor.close()

            #Retorno a lista de objetos
            return count + 1
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return 0
Ejemplo n.º 5
0
    def isNew(self):
        """Verifica se o Cliente é novo."""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o select
            cursor.execute("SELECT COUNT(*) FROM Client WHERE code = " +
                           str(self.code) + " ")

            #Guardo o número de registros retornado
            count = cursor.fetchone()[0]

            #Fecho o cursor
            cursor.close()

            #Retorno a lista de objetos
            return count <= 0
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 6
0
    def selectAllClients(self):
        """Recupera todos os Clientes cadastrados no sistema"""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o select
            cursor.execute(
                "SELECT code, name, docno, phone, cellphone, address, neighborhood, city, state FROM Client"
            )

            #Crio uma lista para armazenar os resultados
            clients = []

            #Preencho os dados do objeto com as informações retornadas
            for client in cursor:
                prod = Client(client[0], client[1], client[2], client[3],
                              client[4], client[5], client[6], client[7],
                              client[8])
                products.append(prod)

            #Fecho o cursor
            cursor.close()

            #Retorno a lista de objetos
            return clients
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 7
0
    def deleteClient(self):
        """Exclui um cliente da base de dados."""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo a exclusão
            cursor.execute("DELETE FROM Client WHERE code = " +
                           str(self.code) + " ")

            #Gravo as alterações
            database.conn.commit()

            #Fecho o cursor
            cursor.close()

            #Retorno OK
            return True
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 8
0
    def updateCategory(self):
        """Atualiza as informações de uma categoria."""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o update
            cursor.execute("UPDATE Category SET name = '" + str(self.name) +
                           "' WHERE code = " + str(self.code) + " ")

            #Gravo as alterações
            database.conn.commit()

            #Fecho o cursor
            cursor.close()

            #Retorno OK
            return True
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 9
0
    def insertCategory(self):
        """Insere uma nova categoria na base de dados."""

        #Se a categoria foi criada sem um código, providencio um novo código.
        if self.code == None or self.code <= 0:
            self.code = nextCode()

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo a inserção
            cursor.execute("INSERT INTO Category (code, name) VALUES (" +
                           str(self.code) + ", '" + str(self.name) + "')")

            #Gravo as alterações
            database.conn.commit()

            #Fecho o cursor
            cursor.close()

            #Retorno OK
            return str(True)
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return str(False)
Ejemplo n.º 10
0
    def selectAllCategories(self):
        """Recupera todas as categorias cadastradas no sistema"""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o select
            cursor.execute("SELECT code, name FROM Category")

            #Crio uma lista para armazenar os resultados
            categories = []

            #Preencho os dados do objeto com as informações retornadas
            for category in cursor:
                cat = Category(category[0], category[1])
                categories.append(cat)

            #Fecho o cursor
            cursor.close()

            #Retorno a lista de objetos
            return categories
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 11
0
    def selectCategory(self, code):
        """Retorna informações de uma categoria"""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo a seleção
            cursor.execute("SELECT code, name FROM Category WHERE code = " +
                           str(code) + " ")

            #Preencho os dados do objeto com as informações retornadas
            for category in cursor:
                self.code = category[0]
                self.name = category[1]

            #Fecho o cursor
            cursor.close()

            #Retorno o objeto
            return self
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 12
0
 def selectProducer(self, code):
     """Retorna informações de um fornecedor"""
     
     #Instancio a classe banco
     database = Database()
     
     try:
         #Crio um cursor para acessar o banco de dados
         cursor = database.conn.cursor()
         
         #Executo a seleção
         cursor.execute("SELECT code, name, docno, phone, cellphone, address, neighborhood, city, state FROM Producer WHERE code = " + str(code) + " ")
         
         #Preencho os dados do objeto com as informações retornadas
         for producer in cursor:
             self.code = producer[0]
             self.name = producer[1]
             self.docno = producer[2]
             self.phone = producer[3]
             self.cellphone = producer[4]
             self.address = producer[5]
             self.neighborhood = producer[6]
             self.city = producer[7]
             self.state = producer[8]
                     
         #Fecho o cursor
         cursor.close()
         
         #Retorno o objeto
         return self
     except:
         #Capturo a mensagem de erro
         error = traceback.format_exc()
         print(error)
         return False
Ejemplo n.º 13
0
    def selectAllProducts(self):
        """Recupera todos os produtos cadastrados no sistema"""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o select
            cursor.execute("SELECT code, name, category FROM Product")

            #Crio uma lista para armazenar os resultados
            products = []

            #Preencho os dados do objeto com as informações retornadas
            for product in cursor:
                prod = Product(product[0], product[1],
                               Category().selectCategory(product[2]))
                products.append(prod)

            #Fecho o cursor
            cursor.close()

            #Retorno a lista de objetos
            return products
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False
Ejemplo n.º 14
0
    def isNew(self):
        """Verifica se a categoria é nova."""

        #Instancio a classe banco
        database = Database()

        try:
            #Crio um cursor para acessar o banco de dados
            cursor = database.conn.cursor()

            #Executo o select
            cursor.execute("SELECT COUNT(*) FROM Category WHERE code = " +
                           str(self.code) + " ")

            #Guardo o número de registros retornado
            count = cursor.fetchone()[0]

            #Fecho o cursor
            cursor.close()

            #Retorno a lista de objetos
            return count <= 0
        except:
            #Capturo a mensagem de erro
            error = traceback.format_exc()
            print(error)
            return False

        def nextCode(self):
            """Verifico qual é o próximo código de categoria disponível."""

            #Instancio a classe banco
            database = Database()

            try:
                #Crio um cursor para acessar o banco de dados
                cursor = database.conn.cursor()

                #Executo o select
                cursor.execute("SELECT MAX(code) FROM Category")

                #Guardo o número de registros retornado
                count = cursor.fetchone()[0]

                #Fecho o cursor
                cursor.close()

                #Retorno a lista de objetos
                return count + 1
            except:
                #Capturo a mensagem de erro
                error = traceback.format_exc()
                print(error)
                return 0
Ejemplo n.º 15
0
import InterpreterController
from View.iView import *
from Model.Interpreter import *
from Model.FileHandler.FileHandler import *
from Model.DataValidation.EmpDataValidator import *
from Model.Database.Database import *
import sys

if __name__ == '__main__':
    InterpreterController(EmployeeData_View(), Interpreter(
        FileHandler(), DataValidator(), Database(),
        InterpreterController.set_file_path(sys.argv))).cmdloop()

# sys.argv is a list in Python,
# which contains the command-line
# arguments passed to the script.
# With the len(sys.argv) function
# you can count the number of arguments.
Ejemplo n.º 16
0
class Model:

    __database = None
    __users_table_name = "users"

    def __init__(self):
        pass

    '''
    first of all this method checks if the user_id exists in database
    if exists so it does nothing! and if not it adds the user information into database !
    '''

    def add_user_in_database(self, user_id: int, update_obj):
        self.__database.connect_db()

        cond = "user_id=\"%d\"" % user_id
        result = self.__database.get_rows(self.__users_table_name, cond)

        if len(result) == 0:

            try:
                __first_name = update_obj["message"]["from"]["first_name"]
            except:
                __first_name = "--"

            try:
                __username = update_obj["message"]["from"]["username"]
            except Exception:
                __username = "******"

            model = [["user_id", user_id, False],
                     ["first_name", __first_name, True],
                     ["user_name", __username, True]]

            self.__database.insert(self.__users_table_name, model)

        self.__database.close_db()

    '''
    '''

    def configure_database(self, database_info, db_connection):

        db = Database()
        username = db_connection["username"]
        password = db_connection["password"]
        dbname = database_info["db_name"]
        db.connect_db(username=username, password=password)

        # creating the database if not exist!
        query = "CREATE DATABASE IF NOT EXISTS " + dbname
        db.exec_query(query)
        db.close_db()

        # initializing the connection data into Database class!
        self.__database = Database(username=username,
                                   password=password,
                                   dbname=dbname)

        # creating the tables if not exists!
        self.__database.connect_db()
        for t in database_info["tables"]:

            # checking if table exists or not!
            cond = "table_schema='%s' and table_name='%s'" % (dbname,
                                                              t["table_name"])
            result = self.__database.get_rows("information_schema.tables",
                                              cond)

            if len(result) == 0:
                self.__database.create_table(t["table_name"],
                                             t["table_struct"])

        self.__database.close_db()