andreroggeri/pynubank

Exemplo do README quebrando

Closed this issue · 4 comments

Olá, não consigo usar o exemplo com MockHttpClient descrito no README.md:

Traceback (most recent call last):
  File "extract_payments.py", line 10, in <module>
    card_statements = nu.get_card_statements()
  File "/home/wener/.local/lib/python3.8/site-packages/pynubank/nubank.py", line 107, in get_card_statements
    feed = self.get_card_feed()
  File "/home/wener/.local/lib/python3.8/site-packages/pynubank/nubank.py", line 104, in get_card_feed
    return self.client.get(self.feed_url)
  File "/home/wener/.local/lib/python3.8/site-packages/pynubank/utils/mock_http.py", line 37, in get
    result = self._find(url)
  File "/home/wener/.local/lib/python3.8/site-packages/pynubank/utils/mock_http.py", line 59, in _find
    if fnmatch.fnmatch(url, k[0]):
  File "/usr/local/lib/python3.8/fnmatch.py", line 34, in fnmatch
    name = os.path.normcase(name)
  File "/usr/local/lib/python3.8/posixpath.py", line 54, in normcase
    return os.fspath(s)
TypeError: expected str, bytes or os.PathLike object, not NoneType

A doc também está desatualizada, o import de MockHttpClient é em from pynubank.utils.mock_http e não no root. EM breve posso submeter o PR.

Fala @pwener vc pode compartilhar o seu script ?

Fiz um teste aqui com esse código abaixo e funcionou.

from pynubank import Nubank, MockHttpClient


def main():
    nu = Nubank(MockHttpClient())
    nu.authenticate_with_qr_code("abc", "asfas", "safas")
    print(nu.get_card_statements())


if __name__ == '__main__':
    main()

Ah, vi aqui que se não chamar o método de autenticação não funciona mesmo e dá o mesmo erro que vc tomou.

Você chamou ele ?

Opa, talvez era isso, não ficou claro na docs que precisava chamar via mock! Obrigado o esclarecimento :D

Fiz uma pequena melhoria na documentação pra incluir a autenticação no exemplo com mock 👍