示例#1
0
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)
示例#2
0
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)
示例#3
0
    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
示例#4
0
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))
示例#5
0
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))
示例#6
0
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)
示例#7
0
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)
示例#8
0
 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'
示例#9
0
    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'
示例#10
0
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))
示例#11
0
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
示例#12
0
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))
示例#13
0
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
示例#15
0
 def normalizar(self):
     sem_acentos = remover_acentos(self.nome)
     self.nome_normalizado = sem_acentos.lower()
     self.nome_invertido = self.nome_normalizado[::-1]