Coder Social home page Coder Social logo

anthonybloomer / ezflix Goto Github PK

View Code? Open in Web Editor NEW
46.0 46.0 8.0 24 KB

Command line utility that enables users to search for TV and movie torrents and stream using Peerflix automatically.

Home Page: https://anthonybloomer.github.io/ezflix/

License: MIT License

Python 100.00%
cli movie music peerflix stream torrent tv

ezflix's People

Contributors

anthonybloomer avatar giladx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ezflix's Issues

Sorting by seeds

Running ezflix movie 'Mad Max' --sort_by=seeds --sort_order=desc returns a list of torrents not in the correct numerical order.

+----+-------------------------------------------+-------+-------+
| Id | Torrent                                   | Seeds | Peers |
+----+-------------------------------------------+-------+-------+
| 1  | Mad Max Beyond Thunderdome (1985) (720p)  | 15    | 5     |
| 2  | Mad Max Beyond Thunderdome (1985) (1080p) | 22    | 8     |
| 3  | Mad Max: Fury Road (2015) (3D)            | 66    | 13    |
| 4  | Mad Max: Fury Road (2015) (720p)          | 378   | 44    |
| 5  | Mad Max: Fury Road (2015) (1080p)         | 958   | 100   |
| 6  | Mad Max (1979) (720p)                     | 38    | 13    |
| 7  | Mad Max (1979) (1080p)                    | 97    | 12    |
+----+-------------------------------------------+-------+-------+

webplay spams console

I did

ezflix "South Park" --media_player webplay

and selected 1, and the console screen continuously spams the same message over and over again, impossible to end.

peerflix takes 5 positional args, 6 were given

LOVE the project. Have an error, though...

ezflix "South Park" --latest

In ezflix, the default player is mpv. It will fallback to vlc if mpv isn't found. You can use the media_player argument to set your media player. Playing South Park S23E10 Christmas Snow UNCENSORED 720p WEB-DL AAC2 0 H 264-LAZY EZTV Traceback (most recent call last): File "/usr/local/bin/ezflix", line 10, in <module> sys.exit(main()) File "/usr/local/lib/python3.7/dist-packages/ezflix/main.py", line 39, in main search(p) File "/usr/local/lib/python3.7/dist-packages/ezflix/main.py", line 139, in search peerflix(latest['link'], media_player, args.media_type, args.subtitles, args.remove, file_path) TypeError: peerflix() takes 5 positional arguments but 6 were given

Possible incompatibility with Python3.8

To start, thank you for this great piece of work.

After using ezflix for a while on Linux Mint 19.3, which uses Python 3.6, I upgraded to Mint 20 and suddenly ezflix stopped working. The obvious change is the different Python version, which is now 3.8.
Here's some sample output:
Than you in advance for looking into this.

ezflix lucifer
⠦ Searching...Traceback (most recent call last):
File "$HOME/.local/bin/ezflix", line 8, in
sys.exit(main())
File "$HOME/.local/lib/python3.8/site-packages/ezflix/main.py", line 43, in main
search(p)
File "$HOME/.local/lib/python3.8/site-packages/ezflix/main.py", line 159, in search
torrents = ezflix.search()
File "$HOME/.local/lib/python3.8/site-packages/ezflix/ezflix.py", line 74, in search
self._torrents = eztv(
File "$HOME/.local/lib/python3.8/site-packages/ezflix/extractors/eztv.py", line 29, in eztv
imdb_id = get_external_id(sr[0].id)[2:]
TypeError: 'NoneType' object is not subscriptable

Getting UnboundLocalError in main.py

Hi @AnthonyBloomer,

I think this is a fantastic project, and something similar to what I was planning to build in my free time. I tried to install ezflix via pip3 and tried executing the ezflix movie 'spiderman' which did print a list of matching movies but failed with the following exception. I looked into the code and I think it was something to do with your py2/py3 compatibility code somewhere here -

input = raw_input

Anyways here is the error stack:

Make selection: (Enter quit to close the program)
Traceback (most recent call last):
File "/usr/local/bin/ezflix", line 11, in
sys.exit(main())
File "/usr/local/lib/python3.6/site-packages/ezflix/main.py", line 70, in main
read = input()
UnboundLocalError: local variable 'input' referenced before assignment

eztv connection/ SSL problem

It seems that eztv.ag is redirecting to eztv.io but urlopen is not following the redirect (I'm not sure; this is just a shot in the dark). It also seems that there is a mismatch between the server's domain name and the server's SSL certificate, which is causing another problem. Opera (the browser) tells me that eztv is using a certificate issued to cloudflare (see screenshot at https://i.imgur.com/5MCOynv.png ). Now here's the output from a simple search command. Thank you for your help.

ezflix lucifer

Searching...Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 665, in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 376, in _make_request
self._validate_conn(conn)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 996, in _validate_conn
conn.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 386, in connect
_match_hostname(cert, self.assert_hostname or server_hostname)
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 396, in _match_hostname
match_hostname(cert, asserted_hostname)
File "/usr/lib/python3.8/ssl.py", line 420, in match_hostname
raise CertificateError("hostname %r "
ssl.SSLCertVerificationError: ("hostname 'eztv.ag' doesn't match 'search.dnsadvantage.com'",)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 719, in urlopen
retries = retries.increment(
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='eztv.ag', port=443): Max retries exceeded with url: /api/get-torrents?imdb_id=4052886&page=1&limit=20 (Caused by SSLError(SSLCertVerificationError("hostname 'eztv.ag' doesn't match 'search.dnsadvantage.com'")))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/aa/.local/bin/ezflix", line 8, in
sys.exit(main())
File "/home/aa/.local/lib/python3.8/site-packages/ezflix/main.py", line 43, in main
search(p)
File "/home/aa/.local/lib/python3.8/site-packages/ezflix/main.py", line 159, in search
torrents = ezflix.search()
File "/home/aa/.local/lib/python3.8/site-packages/ezflix/ezflix.py", line 74, in search
self._torrents = eztv(
File "/home/aa/.local/lib/python3.8/site-packages/ezflix/extractors/eztv.py", line 32, in eztv
req = requests.get(
File "/usr/lib/python3/dist-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 514, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='eztv.ag', port=443): Max retries exceeded with url: /api/get-torrents?imdb_id=4052886&page=1&limit=20 (Caused by SSLError(SSLCertVerificationError("hostname 'eztv.ag' doesn't match 'search.dnsadvantage.com'")))

~

EZTV API

EZTV API is in beta mode and does not require an API Login or API key.

Request: https://eztv.ag/api/get-torrents
Parameters: limit (results per page, between 1 and 100); page (current page of results)

Example request: https://eztv.ag/api/get-torrents?limit=10&page=1

Show lookup by IMDB ID

If you already know a show's IMDB ID, you can use this endpoint to find only the torrents for this exact show on EZTV. If the given ID can be matched, all its EZTV torrents will be returned.

Example request: https://eztv.ag/api/get-torrents?imdb_id=6048596

Results are returned in JSON format.

https://eztv.ag/api/

This may be useful to implement in the future.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.