Ejemplo n.º 1
0
 def _save_to_disk(self, clients):
     tmp_table_name = self.table_name + '.tmp'
     with open(tmp_table_name, mode='w') as f:
         writter = csv.DictWriter(f, fieldnames=Client.schema())
         writter.writerows(clients)
     os.remove(self.table_name)
     os.rename(tmp_table_name, self.table_name)
Ejemplo n.º 2
0
 def create_client(self, oClient):
     with open(self.table_name, mode="a") as f:
         oWriter = csv.DictWriter(f, Client.schema())
         #pprint(oWriter)
         # print(oClient.to_dictionary())
         # oWriter.writerow(oClient.to_dictionary())
         oWriter.writerow(oClient.to_dict())
Ejemplo n.º 3
0
 def _savefile(self, clients):
     tmp_table_data = "{}.tmp".format(self.tablename)
     with open(tmp_table_data, mode='w') as csv_file:
         writer = csv.DictWriter(csv_file, fieldnames=Client.schema())
         writer.writerows(clients)
         os.remove(self.tablename)
         os.rename(tmp_table_data, self.tablename)
Ejemplo n.º 4
0
    def _save_to_disk(self, clients_list):
        tmp_table_name = '{}.tmp'.format(self.table_name)
        with open(tmp_table_name, mode='w') as f:
            writer = csv.DictWriter(f, fieldnames=Client.schema())
            writer.writerows(clients_list)

        os.remove(self.table_name)
        os.rename(tmp_table_name, self.table_name)
Ejemplo n.º 5
0
    def _save_to_disk(self, clients):
        tmp_table_name = self.table_name + ".tmp"
        with open(tmp_table_name, mode="w", newline="") as file:
            writer = csv.DictWriter(file, fieldnames=Client.schema())
            writer.writerows(clients)

        os.remove(self.table_name)
        os.rename(tmp_table_name, self.table_name)
Ejemplo n.º 6
0
    def create_client(self, client):
        #5.- aqui escribimos en el archivo con open y en modo append ya que vamos a
        # estar añadiendo registros en él
        """ with open(self.table_name,mode='a') as f:
            writer=csv.DictWriter(f,fieldnames=Client.schema())
            writer.writerow(client.to_dict())
 """
        self.create(client.to_dict(), Client.schema())
Ejemplo n.º 7
0
    def _save_to_disk(self, lstClients):
        tmpTablename = self.table_name + ".tmp"
        with open(tmpTablename, mode="a") as f:
            oWriter = csv.DictWriter(f, fieldnames=Client.schema())
            oWriter.writerows(lstClients)

        os.remove(self.table_name)
        os.rename(tmpTablename, self.table_name)
Ejemplo n.º 8
0
    def list_clients(self):
        with open(
                self.table_name, mode='r'
        ) as f:  ## abrimos el archivo en modo reader referenciandolo como f
            reader = csv.DictReader(
                f, fieldnames=Client.schema())  ## solo leemos el archivo

            return list(
                reader)  ## y lo retornamos como una lista para que sea leído
Ejemplo n.º 9
0
 def create_client(self,
                   client):  ## create client reside dentro de una clase
     with open(
             self.table_name, mode='a'
     ) as f:  ## logica para abrir un archivo en modo append para añadir el cliente al final
         writer = csv.DictWriter(
             f, fieldnames=Client.schema())  ## cuales son las columnas
         writer.writerow(
             client.to_dict()
         )  ## escribimos una nueva fila DictWrite necesita diccionarios el cliente que recibimos como parametro lo convertimos a diccionario
Ejemplo n.º 10
0
    def _save_to_disk(self, clients):
        tmp_table_name = self.table_name + '.tmp'

        f = open(tmp_table_name, mode="w")
        writer = csv.DictWriter(f, fieldnames=Client.schema())
        writer.writerows(clients)

        f.close()

        os.remove(self.table_name)
        os.rename(tmp_table_name, self.table_name)
Ejemplo n.º 11
0
    def _save_to_disk(self, clients):  ## metodo privado
        tmp_table_name = self.table_name + '.tmp'  ## creamos un archivo temporal porque ya arbimos el archivo porque lo abrimos en modo lectura cuando obtuvimos nuestra lista de clientes
        with open(tmp_table_name,
                  mode='w') as f:  ## abrimos el archivo temporal
            writer = csv.DictWriter(f, fieldnames=Client.schema()
                                    )  ## comenzamos a declarar nuestro writer
            writer.writerows(clients)  ## escribimos todas las filas

        os.remove(self.table_name)  ## removemos la tabla original
        os.rename(
            tmp_table_name, self.table_name
        )  ## renombramos la tabla temporal con el nombre original de la tabla
Ejemplo n.º 12
0
    def delete_client(self, client_uid):
        clients = self.list_clients()

        new_clients = [
            client for client in clients if client['uid'] != client_uid
        ]

        tmp_table_name = self.table_name + '.tmp'

        with open(tmp_table_name, 'w') as f:
            writer = csv.DictWriter(f, fieldnames=Client.schema())
            writer.writerows(new_clients)

        os.remove(self.table_name)
        os.rename(tmp_table_name, self.table_name)
Ejemplo n.º 13
0
def list(ctx):
    """List all clients"""
    client_service = ClientService(ctx.obj['clients_table'])
    clients_list = client_service.list_clients()

    headers = [field.capitalize() for field in Client.schema()]
    table = []

    for client in clients_list:
        table.append([
            client['name'], client['company'], client['email'],
            client['position'], client['uid']
        ])

    click.echo('\n')
    click.echo(tabulate(table, headers))
    click.echo('\n')
Ejemplo n.º 14
0
 def create_client(self, client):
     with open(self.table_name, mode="a", newline="") as file:
         writer = csv.DictWriter(file, fieldnames=Client.schema())
         writer.writerow(client.to_dict())
Ejemplo n.º 15
0
 def list_clients(self):
     with open('../.clients.csv', 'r', encoding='utf-8') as f:
         reader = csv.DictReader(f, fieldnames=Client.schema())
         # reader al ser un iterable, es necesario convertirlo a una lista con la funcion global list
         return list(reader)
Ejemplo n.º 16
0
 def create_client(self, client):
     with open(self.table_name, mode='a') as f:
         writer = csv.DictWriter(f, fieldnames=Client.schema())
         writer.writerow(client.to_dict())
Ejemplo n.º 17
0
 def delete_client(self, client_uid):
     self.delete(client_uid, Client.schema())
Ejemplo n.º 18
0
 def list_clients(self):
     return self.list(Client.schema())
Ejemplo n.º 19
0
 def create_client(self, client):
     self.create(client, Client.schema())
Ejemplo n.º 20
0
    def list_clients(self):  #Abrir el archivo en modo lectura
        with open(self.table_name, mode='r') as f:
            reader = csv.DictReader(f, fieldnames=Client.schema())

            return list(reader)
Ejemplo n.º 21
0
 def update_client(self, updated_client):
     self.update(updated_client.to_dict(), Client.schema())
Ejemplo n.º 22
0
 def create_client(self, client):  #Abre el archivo, en modo append
     with open(self.table_name, mode='a') as f:
         writer = csv.DictWriter(f, fieldnames=Client.schema())
         writer.writerow(client.to_dict())  #Añade una fila con el cliente
Ejemplo n.º 23
0
 def create_client(self, client):
     self.create(client.to_dict(), Client.schema())
Ejemplo n.º 24
0
 def _save_to_disk(self, clients):
     with open(self.table_name, mode='w') as f:
         writer = csv.DictWriter(f, fieldnames=Client.schema())
         writer.writerows(clients)
Ejemplo n.º 25
0
 def list_clients(self):
     with open(self.table_name, mode='r') as f:
         reader = csv.DictReader(f, fieldnames=Client.schema())
         return list(reader)
Ejemplo n.º 26
0
 def list_client(self):
     with open(self.tablename, mode='r') as csv_file:
         reader = csv.DictReader(csv_file, fieldnames=Client.schema())
         return list(reader)