we-get icon indicating copy to clipboard operation
we-get copied to clipboard

no results and JSONDecodeError

Open rusty-electron opened this issue 3 years ago • 4 comments

I installed we-get and when I try to search for a torrent or list the top torrents, it tells me that no results were found and gives a JSONDecodeError. I have provided a screenshot to describe the error.

we-get

I am on archlinux - kernel 5.8.3, python 3.8.5.

rusty-electron avatar Sep 04 '20 12:09 rusty-electron

http://yts.ag/api/v2/list_movies.json?quality=720p&genre=all

can you access that url?

currently i have made some temporary fix for that on dev branch that will skip the error on yts parser

you can install it with

pip3 install --user https://github.com/rachmadaniHaryono/we-get/archive/dev.zip

i actually got fever yesterday but it got better today. if things get better i can assist you but if not i may not answer in few days later after this

rachmadaniHaryono avatar Sep 05 '20 14:09 rachmadaniHaryono

I can't access the yts website url you provided, it is probably blocked by my ISP. But I can access 1337x manually via a browser although I have to solve a captcha and 1337x is the site that I wish to search for torrents. I will try your fix and see how it goes.

I hope you get well soon and no pressure, you take rest. Health comes first always.

rusty-electron avatar Sep 05 '20 18:09 rusty-electron

I can repro this error too, installed via pip and presumably am on master branch. we-get version 1.1.0

we-get -s="ubuntu"
Traceback (most recent call last):
  File "/home/marcus/.pyenv/versions/3.8.0/bin/we-get", line 11, in <module>
    load_entry_point('we-get==1.1.2', 'console_scripts', 'we-get')()
  File "/home/marcus/.pyenv/versions/3.8.0/lib/python3.8/site-packages/we_get/__init__.py", line 14, in main
    we_get.start()
  File "/home/marcus/.pyenv/versions/3.8.0/lib/python3.8/site-packages/we_get/core/we_get.py", line 248, in start
    sel.run()
  File "/home/marcus/.pyenv/versions/3.8.0/lib/python3.8/site-packages/we_get/core/we_get.py", line 167, in run
    items = run.main(self.pargs)
  File "/home/marcus/.pyenv/versions/3.8.0/lib/python3.8/site-packages/we_get/modules/eztv.py", line 82, in main
    return run.search()
  File "/home/marcus/.pyenv/versions/3.8.0/lib/python3.8/site-packages/we_get/modules/eztv.py", line 66, in search
    data = self.module.http_get_request(url)
  File "/home/marcus/.pyenv/versions/3.8.0/lib/python3.8/site-packages/we_get/core/module.py", line 26, in http_get_request
    res = opener.open(url).read().decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 33500: invalid start byte

Presumably this is because we-get is receiving an empty response.

My ISP blocks torrent sites, but after engaging a VPN and retrying the same command it works fine. Maybe just need something to guard for the empty response case

pacharanero avatar Feb 21 '21 10:02 pacharanero

can you try dev branch @pacharanero ? i put a new commit that will print the content if UnicodeDecodeError happen.

it is also different from op post where the error happen when decoding json

rachmadaniHaryono avatar Feb 22 '21 09:02 rachmadaniHaryono