Agora segue o arquivo que editei. Em qua., 30 de dez. de 2020 às 18:26, Adriano <[email protected]> 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, <[email protected]> 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: [email protected] <[email protected]> >> > Enviado: terça-feira, 22 de dezembro de 2020 10:49 >> > Para: yulli dias <[email protected]>; [email protected] < >> > [email protected]> >> > 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: [email protected] <[email protected]> >> > > Enviado: segunda-feira, 21 de dezembro de 2020 13:15 >> > > Para: yulli dias <[email protected]>; [email protected] < >> > > [email protected]> >> > > 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 >> > > > [email protected] >> > > > >> > > > https://lists.gnucash.org/mailman/listinfo/gnucash-br >> > > > >> > >> >> _______________________________________________ >> gnucash-br mailing list >> [email protected] >> https://lists.gnucash.org/mailman/listinfo/gnucash-br >> >
tesouro.pm
Description: Perl program
_______________________________________________ gnucash-br mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-br
