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)
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())
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)
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)
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)
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())
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)
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
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
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)
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
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)
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')
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())
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)
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())
def delete_client(self, client_uid): self.delete(client_uid, Client.schema())
def list_clients(self): return self.list(Client.schema())
def create_client(self, client): self.create(client, Client.schema())
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)
def update_client(self, updated_client): self.update(updated_client.to_dict(), Client.schema())
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
def create_client(self, client): self.create(client.to_dict(), Client.schema())
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)
def list_clients(self): with open(self.table_name, mode='r') as f: reader = csv.DictReader(f, fieldnames=Client.schema()) return list(reader)
def list_client(self): with open(self.tablename, mode='r') as csv_file: reader = csv.DictReader(csv_file, fieldnames=Client.schema()) return list(reader)