{ "info": { "author": "Davide Depau", "author_email": "davide@depau.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Communications :: File Sharing", "Topic :: Internet :: WWW/HTTP :: Indexing/Search" ], "description": "# Standalone Novasearch\n\nThis is a fork of [qBittorrent's Nova search engine](https://github.com/qbittorrent/qBittorrent/tree/master/src/searchengine).\n\nIt has been patched to use modern [requests](http://docs.python-requests.org/en/master/) library, add a setuptools installer for standalone usage and support both Python2 and Python3 out of the box (though this should not be relied upon).\n\nPlease note that even though this works on Python2, development will only focus on Python3.\n\n## How to use\n\n* Install it\n\n```shell\n$ pip install nova6\n```\n\n* Get some engines from qBittorrent: https://github.com/qbittorrent/search-plugins\n\n* Run it\n\n```shell\n$ nova6 -d search-plugins all all query\n```\n\n## Synopsis\n\nNova6 tries to maintain command-line compatibility with nova from qBittorrent. However, in order to make it distributable and still maintain compatibility with existing plugins, I had to make some changes.\n\nNotably, `nova6` accepts one extra command line argument that `nova2` does not: `--engines-dir`, `-d`.\n\nThis argument can be specified multiple times with a list of directories to be scanned for plugins. If none is specified, it checks for an `engines` in the same directory of `nova6.py`, just like qBittorrent's.\n\n### Positional arguments\n\n* **engines**\n\n Select the engines to be used for search, comma-separated, or \"all\". Use `--capabilities` to list available plugins.\n\n* **category**\n\n Select the category to be used for search, or \"all\". Available categories are `movies`, `tv`, `music`, `games`, `anime`, `software`, `pictures` and `books`.\n\n* **keywords**\n\n Search keywords\n\n### Optional arguments\n\n* **--capabilities**\n\n Outputs an XML showing search engine plugins capabilities and exits immediately.\n\n* **--engines-dir**, **-d**\n\n See above. Specify custom directory for engine plugins. Can be specified multiple times.\n\n## Output\n\n### Search\n\nSearch results are meant to be machine readable. The format is the following:\n\n```link|name|size|seeds|leech|engine_url```\n\n\n* **link** \u2192 a string corresponding the the download link (points to the .torrent file)\n* **name** \u2192 a unicode string corresponding to the torrent's name (i.e: \"Ubuntu Linux 17.04\")\n* **size** \u2192 a string corresponding to the torrent size (i.e: \"6 MB\" or \"200 KB\" or \"1.2 GB\"...)\n* **seeds** \u2192 the number of seeds for this torrent\n* **leech** \u2192 the number of leechers for this torrent\n* **engine_url** \u2192 the search engine url (i.e: http://www.mininova.org)\n* **desc_link** (optional) \u2192 if the search plugin provides it, a human-readable page describing the torrent\n\n\n### Capabilities\n\nOutputs an XML listing all the engines found in search directories and their capabilities. For example:\n\n```xml\n\n \n My Super Torrent Engine\n https://www.mytorrentengine.com\n movies anime books software games tv music\n \n ...\n\n```\n\n## How to write plugins\n\nPlease see [qBittorrent's guide](https://github.com/qbittorrent/search-plugins/wiki/How-to-write-a-search-plugin).\n\n## Credits and license\n\nAll this code has been taken from qBittorrent. It's been adjusted by [Davide Depau](https://github.com/Depaulicious) to make it standalone and reusable.\n\nThe license is the same as qBittorrent, GPLv2.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Depaulicious/Nova6", "keywords": "torrent search engine requests", "license": "GPLv2", "maintainer": "", "maintainer_email": "", "name": "nova6", "package_url": "https://pypi.org/project/nova6/", "platform": "", "project_url": "https://pypi.org/project/nova6/", "project_urls": { "Homepage": "https://github.com/Depaulicious/Nova6" }, "release_url": "https://pypi.org/project/nova6/2.0.1/", "requires_dist": [ "PySocks (!=1.5.7,>=1.5.6)", "requests", "requests[socks]" ], "requires_python": "", "summary": "A torrent search engine based on qBittorrent's", "version": "2.0.1" }, "last_serial": 3804641, "releases": { "2.0": [ { "comment_text": "", "digests": { "md5": "63b44bf86cb726d4f4c2d29d5c503360", "sha256": "09d83e27a1beb62f234f3ce753ce310f0cd8230bb39cfa98108d1009ae0340de" }, "downloads": -1, "filename": "nova6-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "63b44bf86cb726d4f4c2d29d5c503360", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23795, "upload_time": "2017-07-29T22:05:00", "url": "https://files.pythonhosted.org/packages/27/73/86830ec7dbd0eca25f36b87a5e7368da1f6f23634b3bccde1ab323640d34/nova6-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bccdf94b17eef2dfdb81236d3a0fa540", "sha256": "7c5b7738e920ce5e2b9b56c2c5b120bd0d21862ffc1f478792c95d21051c02a5" }, "downloads": -1, "filename": "nova6-2.0.tar.gz", "has_sig": false, "md5_digest": "bccdf94b17eef2dfdb81236d3a0fa540", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16199, "upload_time": "2017-07-29T22:05:02", "url": "https://files.pythonhosted.org/packages/b1/9e/c617c055cfff61ae5540795e5ba0038a81c0e0f304169c1e298afaa28ace/nova6-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "4fc08ae7cf4e4c13907ee1df6019ee83", "sha256": "f80e3ccf7ea6511cd13b493a0904912814ad546b7a4da08e56ebcc51d71e3be8" }, "downloads": -1, "filename": "nova6-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fc08ae7cf4e4c13907ee1df6019ee83", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24099, "upload_time": "2017-08-02T19:50:36", "url": "https://files.pythonhosted.org/packages/ef/68/384e547157493815ea6ed1519fd3cc6049eb9e46b9fd70b1d5ea01d5aae2/nova6-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e88501f40cffb45a3ffaeaf4448568b2", "sha256": "4624ac978af12ddc00b4553da6dd37da92ce986c16939e7aa82e866c076875a1" }, "downloads": -1, "filename": "nova6-2.0.1.tar.gz", "has_sig": false, "md5_digest": "e88501f40cffb45a3ffaeaf4448568b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16435, "upload_time": "2017-08-02T19:51:10", "url": "https://files.pythonhosted.org/packages/80/19/3027562d16301bc53161830e824967773a058d7dd366bbf9c2c32cb5a721/nova6-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4fc08ae7cf4e4c13907ee1df6019ee83", "sha256": "f80e3ccf7ea6511cd13b493a0904912814ad546b7a4da08e56ebcc51d71e3be8" }, "downloads": -1, "filename": "nova6-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fc08ae7cf4e4c13907ee1df6019ee83", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24099, "upload_time": "2017-08-02T19:50:36", "url": "https://files.pythonhosted.org/packages/ef/68/384e547157493815ea6ed1519fd3cc6049eb9e46b9fd70b1d5ea01d5aae2/nova6-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e88501f40cffb45a3ffaeaf4448568b2", "sha256": "4624ac978af12ddc00b4553da6dd37da92ce986c16939e7aa82e866c076875a1" }, "downloads": -1, "filename": "nova6-2.0.1.tar.gz", "has_sig": false, "md5_digest": "e88501f40cffb45a3ffaeaf4448568b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16435, "upload_time": "2017-08-02T19:51:10", "url": "https://files.pythonhosted.org/packages/80/19/3027562d16301bc53161830e824967773a058d7dd366bbf9c2c32cb5a721/nova6-2.0.1.tar.gz" } ] }