Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rachmadaniharyono/we-get

:icecream: Command-line tool for searching torrents.
https://github.com/rachmadaniharyono/we-get

cli torrent torrent-search

Last synced: 23 days ago
JSON representation

:icecream: Command-line tool for searching torrents.

Awesome Lists containing this project

README

        

we-get: command-line tool for searching torrents.
#################################################

.. image:: https://img.shields.io/github/license/mashape/apistatus.svg?style=flat-square
:target: https://github.com/rachmadaniHaryono/we-get/blob/master/LICENSE

.. image:: https://img.shields.io/aur/version/we-get-git.svg?maxAge=600
:target: https://aur.archlinux.org/packages/we-get-git/

.. class:: head

.. image:: https://raw.githubusercontent.com/rachmadaniHaryono/we-get/master/res/screenshot.png
:alt: Main screenshot.
:width: 100%
:align: center

.. contents::
.. section-numbering::

Installation
============

run from the root folder

.. code-block:: bash

$ # pip3 user install under $HOME/.local/bin
$ # install the build PEP517
$ pip3 install --user build
$ # build from sources
$ python3 -m build .
$ pip3 install --user dist/we-get.tar.gz
$ # run
$ we-get

or with ``pip``

.. code-block:: bash

# using a pip version > 10 that supports installation from pyproject.toml
$ pip3 install --user pip
$ pip3 install https://github.com/rachmadaniHaryono/we-get/archive/refs/tags/1.1.5.tar.gz
$ # or use --user flag to install in your home directory
$ pip3 install --user https://github.com/rachmadaniHaryono/we-get/archive/refs/tags/1.1.5.tar.gz
$ # or install from master branch directly
$ pip3 install --user https://github.com/rachmadaniHaryono/we-get/archive/refs/heads/master.zip
$ # or alternative installation method
$ pip3 install --user git+https://github.com/rachmadaniHaryono/we-get.git

Dependencies
============

* `prompt_toolkit `_, `docopt `_, `colorama `_, `beautifulsoup4 `_

and `Python `_ 3.6.2 or above

Basic Usage
===========

.. code-block:: bash

$ we-get --search "royal pains" --target the_pirate_bay,1337x --filter "S01"

General options
---------------

============ =============
-h --help Help message.
-v --version Show version.
============ =============

Options
-------

===================== =====================================================
-s --search= Search for a torrent.
-l --list List top torrents from modules.
-t --target= Select module to use or 'all' [default: all].
-L --links Output results as links.
-J --json Output results in JSON format.
-G --get-list List targets (supported web-sites).
-f --filter= Match text or regular expression in the torrent name.
-n --results= Number of results to retrieve.
-S --sort-type= Sort torrents by name/seeds [default: seeds].
-c --config= Load config file.
-w --sfw Restrict results to safe for work content (the_pirate_bay only)
===================== =====================================================

Video options
-------------

================ ==================================================================
-q --quality= Try to match quality for the torrent (720p,1080p, ...).
-g --genre= Try to select video genre for the torrent (action, comedy, etc..).
================ ==================================================================

See also ``we-get --help``.

Python Module
-------------

.. code-block:: python

>>> from we_get.core.we_get import WG
>>> we_get = WG()
>>> we_get.parse_arguments(['--search', 'ubuntu', '--target', 'all'])
>>> res = we_get.start(api_mode=True)
OrderedDict([
(
'Ubuntu.MATE.16.04.2.[MATE][armhf][img.xz][Uzerus]', {
'seeds': '260',
'leeches': '2',
'link':
'magnet:?xt=urn:btih:D0F23C109D8662A3FE9338F75839AF8D57E5D4A9'
'&dn=Ubuntu+MATE+16.04.2+%5BMATE%5D%5Barmhf%5D%5Bimg.xz%5D%5BUzerus%5D'
'&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce'
'&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce'
'&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce'
'&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce',
'target': '1337x'}
),
...
])

Older version can use `sys.argv` to input the arguments

.. code-block:: python

>>> import sys
>>> from we_get.core.we_get import WG
>>> we_get = WG()
>>> sys.argv[1:] = ['--search', 'ubuntu', '--target', 'all']
>>> we_get.parse_arguments()
>>> we_get.start(api_mode=True)
...

Supported websites
------------------

* 1337x
* thepiratebay
* eztv
* yts
* limetorrents
* il corsaro nero

and the list will grow.

Contributing
------------

Any collaboration is welcome!

If you want to write a module please see ``we_get/modules/``

Licence
-------

MIT: `LICENSE `_.

Testing
=======

Dependencies
------------

* pytest
* pytest-flake8

Run tests with ``python -m pytest --flake8``.