def incluir_pessoa(): resposta = jsonify({ "resultado": "Sucesso!", "detalhes": "Seu cadastro foi um sucesso!" }) dados = request.get_json() try: pessoa = Pessoa(**dados) #Coloquei a foto de perfil como opcional, então a pessoa pode ter, ou não. if (dados["fotoperfil"] != None): pessoa.fotoperfil = salvar_imagem_perfil('/imagens', (dados["fotoperfil"])) #Retiro os caracteres da máscara do cpf, afim de não causar maus entendidos no db. #Escolhi o cpf como chave primária por conta de que aprendi que quando mexemos com pessoas em banco de dados #essa é a melhor opção. pessoa.cpf = pessoa.cpf.replace(".", "") pessoa.cpf = pessoa.cpf.replace("-", "") sala1 = pessoa.sala_um_id sala2 = pessoa.sala_dois_id espaco1 = pessoa.espacocafe_um_id espaco2 = pessoa.espacocafe_dois_id #Aqui, dependendo da sala que a pessoa escolher, eu faço a lotação aumentar. if sala1 == sala2: salaescolhida = Sala.query.get(sala1) salaescolhida.lotacao += 1 else: salaescolhida1 = Sala.query.get(sala1) salaescolhida1.lotacao += 1 salaescolhida2 = Sala.query.get(sala2) salaescolhida2.lotacao += 1 db.session.add(pessoa) db.session.commit() except Exception as e: resposta = jsonify({"resultado": "Erro!", "detalhes": str(e)}) resposta.headers.add("Access-Control-Allow-Origin", "*") return resposta
def alterar_pessoa(): nome_pessoa = request.args.get("nome_pessoa") idade = request.args.get("idade") genero = request.args.get("genero") cpf = request.args.get("cpf") for i in range(len(lista_pessoas)): if lista_pessoas[i].nome_pessoa == nome_original: indice = i break if indice >= 0: lista_pessoas[indice] = Pessoa(nome_pessoa, idade, ida, volta) return listar_pessoa()
def add_aluno(self, data): try: p = Pessoa(data['nome'], data['email'], data['telefone']) pessoa = self.ctrl_pessoa.add_pessoa(p) aluno = Aluno(pessoa['idx']) aluno.resumo = data.get('resumo') aluno.idx = random.randint(0x0000, 0xffff) db.session.add(aluno) db.session.commit() return self.dump_aluno(aluno) except IntegrityError as e: db.session.rollback() raise e
def cadastar_Pessoa(): resp = jsonify({"resultado": "ok", "detalhes": "ok"}) dados = request.get_json() try: nova_p = Pessoa(**dados) db.session.add(nova_p) add_p_sala(nova_Pessoa.sala_1_id, nova_Pessoa.id_pessoa, 1) add_p_cafe(nova_Pessoa.ecafe_1_id, nova_Pessoa.id_pessoa, 1) db.session.commit() except Exception as x: resposta = jsonify({"resultado": "erro", "detalhes": str(x)}) resp.headers.add("Access-Control-Allow-Origin", "*") return resp
def add_professor(self, nome, email, senha, telefone, sala): pessoa = Pessoa(nome, email, telefone) pessoa_dict = self.ctrl_pessoa.add_pessoa(pessoa) professor = Professor(pessoa_dict['idx'], sala) try: professor.idx = random.randint(0x0000, 0xffff) user = User(email, senha, professor.idx) db.session.add(professor) db.session.add(user) db.session.commit() return self.dump_professor(professor) except IntegrityError as e: db.session.rollback() return dict(error='IntegrityError', message=str(e))
def incluir_pessoa(): #info básica form_nome_pessoa = request.args.get("input_nome_pessoa") form_idade = request.args.get("input_idade") form_genero = request.args.get("input_genero") form_cpf = request.args.get("input_cpf") nova_pessoa = Pessoa(model_pk=lista_pessoas[-1].pk + 1 if lista_pessoas else 1, model_nome_pessoa=form_nome_pessoa, model_idade=form_idade, model_genero=form_genero, model_cpf=form_cpf) lista_pessoas.append(nova_pessoa) return render_template( 'success_pessoa.html', mensagem=f"Pessoa {nova_pessoa.nome_pessoa} foi inserida com sucesso!")
from model import Pessoa, calc_por with open("../pessoas.csv", 'r') as file: arr = [] next(file) for linha in file: nome, idade, sexo = linha.strip().split(',') arr.append(Pessoa(nome, idade, sexo)) result = calc_por(arr) cols = [ 'Porcentagem de Homens', 'Porcentagem de Mulheres', 'Quantidade de maiores de idade', 'Quantidade de menores de idade' ] with open("estatisticas.csv", 'w') as out_file: out_file.write('Análise estatistica do arquivo pessoas.csv\n') out_file.write(','.join(cols) + '\n') out_file.write(','.join(list(map(str, result))) + '\n')
def listar_pessoas(): p = db.session.query(Pessoa).all() p_js = [Pessoa.json() for Pessoa in p] return (jsonify(p_js))
def lambda_handler(event, context): # table column names person_keys = [ 'nome_completo', 'email', 'username', 'password', 'genero', 'photo' ] # names where i will use the similarity function # These names are the same from that we get flatted dicts person_keys_words = [['name_first', 'name_last'], ['email'], ['login_username'], ['login_password'], ['gender'], ['picture_large']] person = dict.fromkeys(person_keys, None) person_search = {} # now i nest boot dicts, each column name with yours keys # i do the same with address data for key, value in zip(person_keys, person_keys_words): person_search[key] = {} for v in value: person_search[key][v] = {} address_keys = ['rua', 'numero', 'cidade', 'estado'] address_keys_words = [['location_street_name'], ['location_street_number'], ['location_city'], ['location_state']] address = dict.fromkeys(address_keys, None) address_search = {} for key, value in zip(address_keys, address_keys_words): address_search[key] = {} for v in value: address_search[key][v] = {} # get data from API response = requests.get('https://randomuser.me/api/') json_data = json.loads(response.text) user_data = json_data['results'][0] # flat json data user_data_flatt = flatten(user_data) person_search = join_data(person_search, user_data_flatt) address_search = join_data(address_search, user_data_flatt) person_dict = clean_dict(person_search, person) address_dict = clean_dict(address_search, address) # get image data response = requests.get(person_dict["photo"]) #response.raw.decode_content = True # convert to base to be possible to save in postgres person_dict["photo"] = b64encode(response.content) # create connection and session with database engine = create_engine(db_string, echo=True) Session = sessionmaker(bind=engine) s = Session() pessoa = Pessoa(**person_dict) # add data and get get the instance primary key to be used as foreign key in address instance s.add(pessoa) s.flush() pessoa_id = pessoa.id address_dict["pessoa_id"] = pessoa.id endereco = Endereco(**address_dict) s.add(endereco) s.commit() s.close() # save raw data in s3 bucket, this ios important to data scientists and machine learning engineers bucket_name = "rbs-case" file_name = str(pessoa_id) + ".json" s3_path = "randomuser/" + file_name json_data["aquisition_date"] = "{:%Y%m%d_%H%M%s}".format(datetime.now())