[gnucash-br] Problemas para configurar o Tesouro.pm

Adriano adrianoss em gmail.com
Qua Dez 30 16:32:12 EST 2020


A propósito, hoje o módulo está dando erro aqui. Não tentei debugar, pois
como é fim de ano deve ter alguma coisa diferente no site do Tesouro.

Semana que vem eu vou atrás se continuar sem funcionar.

Em qua., 30 de dez. de 2020 às 18:27, Adriano <adrianoss em gmail.com>
escreveu:

> Agora segue o arquivo que editei.
>
> Em qua., 30 de dez. de 2020 às 18:26, Adriano <adrianoss em gmail.com>
> escreveu:
>
>> Yulli, Rafael, eu tive uns problemas com conexão no módulo Tesouro.pm, e
>> mandei uma mensagem sobre isso um tempo atrás, com a solução que funcionou
>> para mim.
>>
>> Agora vi que a minha mensagem ficou retida para aprovação, acho que vocês
>> não receberam. Então copio o conteúdo abaixo. Vou mandar em duas partes,
>> para diminuir o tamanho.
>>
>> Primeira parte, só o texto. O arquivo editado mando em seguida.
>>
>>
>> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>> Rafael, obrigado pelo arquivo.
>>
>> Mas eu comparei aqui e é o mesmo que eu tinha. Então o problema era em
>> outro lugar.
>>
>> Mas nada com um bom sábado pela manhã para consertar essas coisas...
>>
>> Resumindo, editei o tesouro.pm (anexo) e agora funciona para mim.
>>
>> A versão completa segue abaixo.
>>
>> Como você disse que funcionava para você, mas eu tenho um erro que
>> parecia ser no acesso ao site, pesquisei um pouco e encontrei,
>> primeiramente, isso:
>> https://stackoverflow.com/questions/49411569/perl-getstore-gives-error-500-but-can-downlaod-via-wget-or-web-browser.
>> <https://stackoverflow.com/questions/49411569/perl-getstore-gives-error-500-but-can-downlaod-via-wget-or-web-browser> Na
>> resposta mais abaixo do link, o usuário sugere um código para detalhar o
>> erro. Então usei o código, levemente alterado como abaixo, no
>> https://www.onlinegdb.com/online_perl_compiler
>> <https://www.onlinegdb.com/online_perl_compiler:>:
>>
>> use LWP::Protocol::https;
>> use LWP::UserAgent qw();
>> my $ua = LWP::UserAgent->new;
>> my $res = $ua->get('
>> https://www.tesourodireto.com.br//json/br/com/b3/tesourodireto/service/api/treasurybondsinfo.json'
>> );
>> if ($res->is_error) {
>> printf(
>> "get failed.\nStatus: %s\nContent:\n%s\n\nFull response:\n%s\n",
>> $res->status_line,
>> $res->content,
>> $res->as_string
>> )
>> }
>>
>> O resultado foi esse:
>>
>> get failed.
>> Status: 500 Can't connect to www.tesourodireto.com.br:443
>> Content:
>> Can't connect to www.tesourodireto.com.br:443
>>
>> LWP::Protocol::https::Socket: getaddrinfo: Name or service not known at
>> /usr/share/perl5/LWP/Protocol/http.pm line 41.
>>
>>
>> Full response:
>> 500 Can't connect to www.tesourodireto.com.br:443
>> Content-Type: text/plain
>> Client-Date: Sat, 12 Dec 2020 11:53:53 GMT
>> Client-Warning: Internal response
>>
>> Can't connect to www.tesourodireto.com.br:443
>>
>> LWP::Protocol::https::Socket: getaddrinfo: Name or service not known at
>> /usr/share/perl5/LWP/Protocol/http.pm line 41.
>>
>> Então usei o comando "curl
>> https://www.tesourodireto.com.br//json/br/com/b3/tesourodireto/service/api/treasurybondsinfo.json",
>> que indicou erro de certificado:
>>
>> curl: (60) SSL certificate problem: unable to get local issuer certificate
>> More details here: https://curl.haxx.se/docs/sslcerts.html
>>
>> curl failed to verify the legitimacy of the server and therefore could not
>> establish a secure connection to it. To learn more about this situation
>> and
>> how to fix it, please visit the web page mentioned above.
>>
>> Como seu código já tinha uma opção para ignorar a verificação do
>> certificado, fiz o mesmo no curl:
>>
>> curl -k
>> https://www.tesourodireto.com.br//json/br/com/b3/tesourodireto/service/api/treasurybondsinfo.json
>>
>> Com o seguinte resultado:
>>
>> curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too
>> small
>>
>> Aí eu achei isso aqui:
>> https://stackoverflow.com/questions/36417224/openssl-dh-key-too-small-error
>> <https://stackoverflow.com/questions/36417224/openssl-dh-key-too-small-error?noredirect=1>
>>
>> Na resposta, o usuário comenta que o OpenSSL passou a exigir chave DH
>> mais forte (o OpenSSL do meu Fedora deve estar com essa exigência ativada),
>> e sugere adicionar a opção SSL_cipher_list => 'DEFAULT:!DH' na
>> verificação do SSL (a resposta no link acima explica o motivo).
>>
>> Então mudei o arquivo tesouro.pm. As linhas a partir da 100 ficaram
>> assim:
>>
>> SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
>> SSL_cipher_list => 'DEFAULT:!DH',
>> verify_hostname => 0);
>>
>> E então voltou a funcionar.
>>
>> Segue o tesouro.pm editado em anexo, pode ser que alguma atualização
>> futura do sistema operacional ative, para outros usuários, o mesmo erro que
>> observei.
>>
>> Abraço,
>> Adriano
>>
>> --------------------------------------------------
>>
>> Em qua., 30 de dez. de 2020 às 14:07, <rmcasali em gmail.com> escreveu:
>>
>>> Caro Yulli,
>>>
>>> Não consegui reproduzir o seu erro, mas me parece problema de conexão
>>> com o site de buscca.
>>>
>>> Mas é bom ter em mente que o módulo está configurado para pegar o preço
>>> de resgate. No site,
>>>
>>> https://www.tesourodireto.com.br/titulos/precos-e-taxas.htm
>>>
>>> a tabela de resgate não está funcionando, provavelmente não é possível
>>> fazer resgate hoje de nenhum título. Provalvelmente o módulo irá
>>> retornar um preço zero.
>>>
>>> Fica atento o site oficial do Tesouro se está tudo ok. Volta e meia tem
>>> problemas de mercado fechado e etc.
>>>
>>> Abs
>>>
>>> E Feliz ano novo a todos da lista.
>>>
>>> Rafael
>>>
>>>
>>> Em ter, 2020-12-29 às 19:24 +0000, yulli dias escreveu:
>>> > Boa Tarde Rafael!
>>> >
>>> > Consegui configurar o módulo! Segui esses passos que você me falou e
>>> > deu certo. Agora o problema é para utilizar o gnc-fq-dump, como faço
>>> > para configurar a data e a moeda?
>>> >
>>> > $ gnc-fq-dump tesouro IPCA+15052035
>>> >
>>> > Finance::Quote fields Gnucash uses:
>>> >     symbol: IPCA+15052035 (deduced) <=== required
>>> >       date: ** missing **        <=== recommended
>>> >   currency: ** missing **        <=== required
>>> > Use of uninitialized value $last in printf at /usr/bin/gnc-fq-dump
>>> > line 120.
>>> >       last:                      <=\
>>> > Use of uninitialized value $nav in printf at /usr/bin/gnc-fq-dump
>>> > line 121.
>>> >        nav:                      <=== one of these
>>> > Use of uninitialized value $price in printf at /usr/bin/gnc-fq-dump
>>> > line 122.
>>> >      price:                      <=/
>>> >   timezone:                      <=== optional
>>> >
>>> > ** This stock quote cannot be used by GnuCash!
>>> >
>>> >
>>> > Obrigada,
>>> > Yulli Dias
>>> > De: rmcasali em gmail.com <rmcasali em gmail.com>
>>> > Enviado: terça-feira, 22 de dezembro de 2020 10:49
>>> > Para: yulli dias <yulli.dias em hotmail.com>; gnucash-br em gnucash.org <
>>> > gnucash-br em gnucash.org>
>>> > Assunto: Re: [gnucash-br] Problemas para configurar o Tesouro.pm
>>> >
>>> > Bom dia Yulli,
>>> >
>>> > Vamos ver se consigo lhe ajudar.
>>> >
>>> > 1. O arquivo 'tesouro.pm' deve ser copiado para o diretório onde se
>>> > encontra os outros módulos (ZA.pm, YahooJSON.pm etc). Normalmente é
>>> > um
>>> > diretóio "Quote" onde tem o arquivo "Quote.pm"
>>> >
>>> > 2. Preste atenção as letras minúsculas do nome do arquivo e para o
>>> > nome
>>> > do módulo a ser inserido em "Quote.pm"
>>> >
>>> > 3. Na edição do arquivo "Quote.pm", procure onde estão definidos os
>>> > módulos. No meu arquivo, está por volta da linha 185, você deve
>>> > encontrar algo do tipo:
>>> > ----
>>> >     # Default modules
>>> >
>>> >     @modules = qw/AEX AIAHK AlphaVantage ASEGR ASX BMONesbittBurns
>>> >         BSERO Bourso Cdnfundlibrary Citywire CSE Currencies Deka
>>> >         DWS FTPortfolios Fidelity FidelityFixed FinanceCanada Fool
>>> >         FTfunds HU GoldMoney HEX IEXCloud IndiaMutual LeRevenu
>>> >         ManInvestments Morningstar MorningstarAU MorningstarCH
>>> >         MorningstarJP MStaruk NZX Platinum SEB SIXfunds SIXshares
>>> >         StockHouseCanada TSP TSX Tdefunds Tdwaterhouse Tiaacref
>>> >         TNetuk Troweprice Trustnet Union USFedBonds VWD ZA
>>> >         Cominvest Finanzpartner YahooJSON YahooYQL ZA_UnitTrusts/;
>>> >   }
>>> > ------
>>> > Pode inserir uma linha, ou colocar no final de qualquer linha, ou
>>> > entre
>>> > dois módulos o nome do arquivo sem extensão "tesouro"
>>> >
>>> > Bom, se ainda tiver problemas, mande aí que tentaremos ajudar.
>>> >
>>> > Abs
>>> > Rafael
>>> >
>>> > Em seg, 2020-12-21 às 23:20 +0000, yulli dias escreveu:
>>> > > Boa noite Rafael!
>>> > >
>>> > > Tentei utilizar o arquivo que você me mandou, mas deu erro na hora
>>> > de
>>> > > executar o gnc-fq-check.
>>> > >
>>> > > $ sudo gnc-fq-check
>>> > > Can't locate object method "methods" via package
>>> > > "Finance::Quote::Tesouro" (perhaps you forgot to load
>>> > > "Finance::Quote::Tesouro"?) at /usr/share/perl5/Finance/Quote.pm
>>> > line
>>> > > 120.
>>> > >
>>> > > Sabe o que pode ser?
>>> > >
>>> > > PS: removi as configurações que eu tinha feito utilizando a outra
>>> > > solução.
>>> > >
>>> > > Desde já agradeço,
>>> > > --
>>> > > Yulli Dias
>>> > >
>>> > > De: rmcasali em gmail.com <rmcasali em gmail.com>
>>> > > Enviado: segunda-feira, 21 de dezembro de 2020 13:15
>>> > > Para: yulli dias <yulli.dias em hotmail.com>; gnucash-br em gnucash.org <
>>> > > gnucash-br em gnucash.org>
>>> > > Assunto: Re: [gnucash-br] Problemas para configurar o Tesouro.pm
>>> > >
>>> > > Boa tarde...
>>> > >
>>> > > Como não sei se você está com a última versão do módulo, vou enviar
>>> > o
>>> > > que estou usando.
>>> > >
>>> > > Abs,
>>> > > Rafael
>>> > >
>>> > > Em dom, 2020-12-20 às 21:10 +0000, yulli dias escreveu:
>>> > > > Olá pessoal!
>>> > > >
>>> > > > Estou na tentativa de configurar o módulo do tesouro mas estou
>>> > > > obtendo o erro "Undefined fetch-method tesouro passed to
>>> > > > Finance::Quote::fetch at /usr/bin/gnc-fq-dump line 191. No
>>> > results
>>> > > > found for stock B_Principal_150535." quando eu executo o comando
>>> > > > gnc-fq-dump Tesouro B_Principal_150535. Alguém consegue me
>>> > ajudar?
>>> > > >
>>> > > > Para configurar o módulo do tesouro eu segui os seguintes passos:
>>> > > > 1 - Baixei o arquivo (
>>> > > >
>>> >
>>> http://lists.gnucash.org/pipermail/gnucash-br/attachments/20180305/08ff692c/attachment.pl
>>> > > > ) que encontrei na lista de e-mails (
>>> > > >
>>> > https://lists.gnucash.org/pipermail/gnucash-br/2018-March/000754.html
>>> > > > ) e salvei em /usr/share/perl5/Finance como Tesouro.pm.
>>> > > > 2 - Editei o arquivo Quote.pm e acrescentei o modulo Tesouro na
>>> > > > lista de módulos.
>>> > > > 3 - Executei o comando export FQ_LOAD_QUOTELET="Currencies",
>>> > > > conforme indicado em
>>> > > > https://github.com/romuloceccon/finance-quote-brazil
>>> > > > 4 - Executei o comando gnc-fq-check
>>> > > > $ gnc-fq-check
>>> > > > ("1.49" "fetch_live_currencies" "known_currencies")
>>> > > > 5 - Executei o comando gnc-fq-update
>>> > > > $ sudo gnc-fq-update
>>> > > > Reading '/root/.local/share/.cpan/Metadata'
>>> > > >   Database was generated on Sun, 20 Dec 2020 19:55:55 GMT
>>> > > > Date::Manip is up to date (6.83).
>>> > > > Finance::Quote is up to date (1.49).
>>> > > > 6 - Por fim o comando de teste
>>> > > > $ gnc-fq-dump tesouro B_Principal_150535
>>> > > > Undefined fetch-method tesouro passed to Finance::Quote::fetch at
>>> > > > /usr/bin/gnc-fq-dump line 191.
>>> > > > No results found for stock B_Principal_150535.
>>> > > >
>>> > > > Desde já agradeço,
>>> > > > --
>>> > > > Yulli Dias
>>> > > > _______________________________________________
>>> > > > gnucash-br mailing list
>>> > > >  gnucash-br em gnucash.org
>>> > > >
>>> > > >  https://lists.gnucash.org/mailman/listinfo/gnucash-br
>>> > > >
>>> >
>>>
>>> _______________________________________________
>>> gnucash-br mailing list
>>> gnucash-br em gnucash.org
>>> https://lists.gnucash.org/mailman/listinfo/gnucash-br
>>>
>>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.gnucash.org/pipermail/gnucash-br/attachments/20201230/723e93c5/attachment-0001.htm>


Mais detalhes sobre a lista de discussão gnucash-br