def put_key_to_remuneracoes(): vereadores = select_from_db(SELECT_VEREADORES) remuneracoes = select_from_db(SELECT_REMUNERACOES) for vereador in vereadores: nome_parlamentar = remover_acentos(vereador[1].upper()) for remuneracao in remuneracoes: nome_vereador = remover_acentos(remuneracao[1]) nome_parlamentar_first_name = nome_parlamentar.split(" ")[0] if nome_parlamentar_first_name == "BENJAMIM": nome_parlamentar_first_name = "BENJAMIN" elif nome_parlamentar_first_name == "MISSIONARIA": nome_parlamentar_first_name = "DAIZE" elif nome_parlamentar_first_name == "ERIBERTO": nome_parlamentar_first_name = "RAFAEL" elif nome_parlamentar_first_name == "PROFESSORA": nome_parlamentar_first_name = "ANA" elif nome_parlamentar_first_name == "JUNIOR": nome_parlamentar_first_name = "INALDO" elif nome_parlamentar_first_name == "CHICO": nome_parlamentar_first_name = "FRANCISCO" elif nome_parlamentar_first_name == "EDUARDO": nome_parlamentar_first_name = nome_parlamentar if nome_parlamentar_first_name == "EDUARDO CHERA": nome_parlamentar_first_name = "EDUARDO PEREIRA" else: nome_parlamentar_first_name = "EDUARDO AMORIM" if (nome_parlamentar_first_name in nome_vereador) or (nome_parlamentar_first_name == nome_vereador): query = get_update_query_remuneracoes(vereador[0], remuneracao[0]) update_to_db(query)
def put_key_to_verbas(): vereadores = select_from_db(SELECT_VEREADORES) verbas_indenizatorias = select_from_db(SELECT_VERBAS) for vereador in vereadores: nome_parlamentar = remover_acentos(vereador[1].upper()) for verba in verbas_indenizatorias: nome_vereador = remover_acentos(verba[1]) nome_parlamentar_first_name = nome_parlamentar.split(" ")[0] if nome_parlamentar_first_name == "BENJAMIM": nome_parlamentar_first_name = "BENJAMIN" elif nome_parlamentar_first_name == "MISSIONARIA": nome_parlamentar_first_name = "DAIZE" elif nome_parlamentar_first_name == "ERIBERTO": nome_parlamentar_first_name = "RAFAEL" elif nome_parlamentar_first_name == "PROFESSORA": nome_parlamentar_first_name = "ANA" elif nome_parlamentar_first_name == "EDUARDO": nome_parlamentar_first_name = nome_parlamentar if (nome_parlamentar_first_name in nome_vereador) or (nome_parlamentar_first_name == nome_vereador): query = get_update_query_verbas(vereador[0], verba[0]) update_to_db(query)
def assinar(self, xml, retorna_string=False): # busca tag que tem id(reference_uri), logo nao importa se tem namespace reference = xml.find(".//*[@Id]").attrib['Id'] # retira acentos xml_str = remover_acentos( etree.tostring(xml, encoding="unicode", pretty_print=False)) xml = etree.fromstring(xml_str) signer = XMLSigner( method=signxml.methods.enveloped, signature_algorithm="rsa-sha1", digest_algorithm='sha1', c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315') ns = {None: signer.namespaces['ds']} signer.namespaces = ns ref_uri = ('#%s' % reference) if reference else None signed_root = signer.sign(xml, key=self.key, cert=self.cert, reference_uri=ref_uri) ns = {'ns': NAMESPACE_SIG} # coloca o certificado na tag X509Data/X509Certificate tagX509Data = signed_root.find('.//ns:X509Data', namespaces=ns) etree.SubElement(tagX509Data, 'X509Certificate').text = self.cert if retorna_string: return etree.tostring(signed_root, encoding="unicode", pretty_print=False) else: return signed_root
def home(request): contexto = {} WC_cod = 'BRXX0217' # Produção #client_address = request.META.get('HTTP_X_FORWARDED_FOR') or request.META.get('REMOTE_ADDR') client_address_list = [ '189.54.5.124', '67.23.238.98', '187.75.167.198', '178.33.147.177', '54.233.81.34', '181.41.197.232', '152.250.250.241' ] client_address = choice(client_address_list) info_geo = getGeoIPbyIP(client_address) text = '%s %s' %(info_geo.get('city',''), info_geo.get('country_code','')) busca_cod = getCodigoCidadeWC(remover_acentos(text)) if busca_cod: WC_cod = busca_cod[0].get('id','0') data = parserDadosTempo(getPrevisaoByWC(WC_cod)) contexto['previsao'] = data contexto['cidade'] = data.get('cidade','') #busca_cod[0].get('text','') #'%s, %s' %(info_geo.get('city'),info_geo.get('country_name')) return render_to_response('index.html', contexto, RequestContext(request))
def home(request): contexto = {} WC_cod = 'BRXX0217' # Produção #client_address = request.META.get('HTTP_X_FORWARDED_FOR') or request.META.get('REMOTE_ADDR') client_address_list = [ '189.54.5.124', '67.23.238.98', '187.75.167.198', '178.33.147.177', '54.233.81.34', '181.41.197.232', '152.250.250.241' ] client_address = choice(client_address_list) info_geo = getGeoIPbyIP(client_address) text = '%s' % (info_geo.get('city', '')) busca_cod = getCodigoCidadeWC(remover_acentos(text)) if busca_cod: WC_cod = busca_cod[0].get('id', WC_cod) data = parserDadosTempo(getPrevisaoByWC(WC_cod)) contexto['previsao'] = data contexto['cidade'] = data.get( 'cidade', '' ) #busca_cod[0].get('text','') #'%s, %s' %(info_geo.get('city'),info_geo.get('country_name')) return render_to_response('index.html', contexto, RequestContext(request))
def put_key_to_materias(): vereadores = select_from_db(SELECT_VEREADORES) materias = select_from_db(SELECT_MATERIAS) for vereador in vereadores: nome_parlamentar = remover_acentos(vereador[1].upper()) if nome_parlamentar == 'Jairo Britto': nome_parlamentar = 'Jairo Brito' elif nome_parlamentar == 'Amaro Cipriano': nome_parlamentar = 'Amaro Cipriano Maguari' elif nome_parlamentar == 'Hélio Guabiraba': nome_parlamentar = 'Hélio da Guabiraba' for materia in materias: autor_materia = remover_acentos(materia[1].upper()) if autor_materia in nome_parlamentar: query = get_update_query_materias(vereador[0], materia[0]) update_to_db(query)
def populate_presencas(): vereadores = select_from_db(SELECT_VEREADORES) sessoes = select_from_db(SELECT_SESSOES) for vereador in vereadores: nome_parlamentar = remover_acentos(vereador[1].upper()) for sessao in sessoes: lista_de_presenca = sessao[1] for vereador_presente in lista_de_presenca: if nome_parlamentar in remover_acentos( vereador_presente).upper(): presente = "true" id_vereador = vereador[0] id_sessao = sessao[0] insert_string = get_insert_string_presencas( presente, id_vereador, id_sessao) insert_to_db(insert_string)
def treat_exception(self, err): err = remover_acentos(str(err).replace("'", '_')) self.steps_done.append(False) self.db.update(self.config['db_name_log_record'], { 'id': self.pk_log_row, 'status': 4, 'log': err }) err = 'Error in {0}:'.format(socket.gethostname()) + str(err) self.email_context_error = \ self.email_context_error + err + '\n'
def treat_exception(self, err): err = remover_acentos(str(err).replace("'", '_')) self.steps_done.append(False) self.db.update( self.config['db_name_log_record'], { 'id': self.pk_log_row, 'status': 4, 'log': err } ) err = 'Error in {0}:'.format(socket.gethostname()) + str(err) self.email_context_error = \ self.email_context_error + err + '\n'
def search(request): contexto = {} if request.method == 'POST': form = SearchForm(request.POST) #if form.is_valid(): busca = form.data.get('query', '') city = form.data.get('cidades', '0') busca_cod = getCodigoCidadeWC(remover_acentos(busca)) if len(busca_cod) > 1 and city == '0': from_cid = form.fields['cidades'] from_cid.choices = [('0', 'Selecione')] for item in busca_cod: from_cid.choices.append( tuple([item.get('id', '0'), item.get('text', '')])) elif len(busca_cod) == 1: code_city = busca_cod[0].get('id', '0') data = parserDadosTempo(getPrevisaoByWC(code_city)) contexto['previsao'] = data contexto['results'] = True contexto['cidade'] = data.get('cidade', '') else: data = parserDadosTempo(getPrevisaoByWC(city)) contexto['previsao'] = data contexto['results'] = True contexto['cidade'] = data.get('cidade', '') contexto['form'] = form else: contexto['form'] = SearchForm() return render_to_response('search.html', contexto, RequestContext(request))
def geraUsuario(nomecompleto): nome = remover_acentos(nomecompleto.lower()).split(' ') username = nome[0]+'.'+nome[len(nome)-1] for i in range(0, 100): # primeira tentativa usrs = User.objects.filter(username=username) if len(usrs) == 0: return username elif len(usrs) >= 1: username += '.'+str(date.today().year) new = User.objects.filter(username=username) if len(new) == 0: return username else: username += str(i) # quase impossível de acontecer !!!! new = User.objects.filter(username=username) if len(new) == 0: return username
def search(request): contexto = {} if request.method == 'POST': form = SearchForm(request.POST) #if form.is_valid(): busca = form.data.get('query','') city = form.data.get('cidades','0') busca_cod = getCodigoCidadeWC(remover_acentos(busca)) if len(busca_cod) > 1 and city == '0' : from_cid = form.fields['cidades'] from_cid.choices = [('0','Selecione')] for item in busca_cod: from_cid.choices.append(tuple([item.get('id','0'),item.get('text','')])) elif len(busca_cod) == 1: code_city = busca_cod[0].get('id','0') data = parserDadosTempo(getPrevisaoByWC(code_city)) contexto['previsao'] = data contexto['results'] = True contexto['cidade'] = data.get('cidade','') else: data = parserDadosTempo(getPrevisaoByWC(city)) contexto['previsao'] = data contexto['results'] = True contexto['cidade'] = data.get('cidade','') contexto['form'] = form else: contexto['form'] = SearchForm() return render_to_response('search.html', contexto, RequestContext(request))
import utils as ut # Forma alternativa para ler os dados de cidade e UF a partir do arquivo cidades.xlsx # df_cidades = ut.pd.read_excel('data\\cidades.xlsx', sheet_name='Cidades') # locais = [[df.loc[line, 'cidade'], df.loc[line, 'uf']] for line in range(df['cidade'].count())] locais = ut.select_sql_server( "SELECT VC_IBG_UF, VC_IBG_CIDADE FROM PORTAL_IBGE WHERE VC_IBG_UF = 'PE'") for local in locais: uf = local[0].lower() cidade = ut.remover_acentos(local[1]).replace(' ', '+').replace('-', '+').lower() link = f"https://www.telelistas.net/{uf}/{cidade}/escolas+particulares" url = ut.request.Request(link, headers={'User-Agent': 'Mozilla/5.0'}) page = ut.request.urlopen(url) ut.parse(page)
def carrega_tipo_prestador_bairro_especialidade_temp(): erro, msg_erro, ufs = busca_uf_temp() if erro: # Salva log de erro grava_msg_erro(msg_erro) return for uf in ufs: id_uf = uf[0] id_plano = uf[1] sg_uf = uf[3] erro, msg_erro, municipios = busca_municipio_temp(id_uf) if erro: # Salva log de erro grava_msg_erro(msg_erro) return for municipio in municipios: id_municipio = municipio[0] cd_municipio = municipio[2] erro, msg_erro, bairros = busca_bairro_temp(id_municipio) if erro: # Salva log de erro grava_msg_erro(msg_erro) return for bairro in bairros: id_bairro = bairro[0] nm_bairro = remover_acentos(bairro[2].strip().upper()) erro, msg_erro, tipos_prestador_bairros = busca_tipo_prestador_bairro( None, id_bairro) if erro: grava_msg_erro(msg_erro) return for tipo_prestador_bairro in tipos_prestador_bairros: id_tipo_prestador = tipo_prestador_bairro[0] erro, msg_erro, tipo_prestador = busca_tipo_prestador( id_tipo_prestador, id_plano) if erro: grava_msg_erro(msg_erro) return cd_tipo_prestador = tipo_prestador[0][2] URL = 'https://www.redecredenciada.mobi/mobile-guia/v2/ws-especialidade.php' parametros = { 'id_operadora': 19, 'id_cidade': cd_municipio, 'id_plano': id_plano, 'id_estado': sg_uf, 'bairro': nm_bairro, 'id_tipo_prestador': cd_tipo_prestador, 'formatacao_texto': '2', '_': '1590376516866', 'force_especialidade': 'S' } tipo = 'html' metodo = 'get' while True: try: erro, msg_erro, bs = busca_pagina( URL, tipo, parametros, metodo) break except Exception as e: print(e) print(parametros) continue if erro: # Salva log de erro grava_msg_erro(msg_erro) return try: especialidades = bs.find('ul').find_all('a') for especialidade in especialidades: cd_especialidade = especialidade.get('data-id') erro, msg_erro, especialidade = busca_especialidade( None, id_plano, cd_especialidade, None) if erro: grava_msg_erro(msg_erro) return id_especialidade = especialidade[0][0] erro, msg_erro = grava_tipo_prestador_bairro_especialidade( id_tipo_prestador, id_bairro, id_especialidade) except Exception as e: msg_erro = gera_msg_erro( e, 'Falhou na busca montagem dos bairros') grava_msg_erro(msg_erro) return if erro: grava_msg_erro(msg_erro) return
def normalizar(self): sem_acentos = remover_acentos(self.nome) self.nome_normalizado = sem_acentos.lower() self.nome_invertido = self.nome_normalizado[::-1]