forked from zaclys/searxng
		
	[doc] engine bt4g: add documentation to docs/dev/engines/online/
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
		
							parent
							
								
									0fc8f99ecc
								
							
						
					
					
						commit
						1d0abb7157
					
				
					 3 changed files with 68 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -4,10 +4,14 @@
 | 
			
		|||
Engine Implementations
 | 
			
		||||
======================
 | 
			
		||||
 | 
			
		||||
Framework Components
 | 
			
		||||
====================
 | 
			
		||||
.. contents::
 | 
			
		||||
   :depth: 2
 | 
			
		||||
   :local:
 | 
			
		||||
   :backlinks: entry
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.. toctree::
 | 
			
		||||
   :caption: Framework Components
 | 
			
		||||
   :maxdepth: 2
 | 
			
		||||
 | 
			
		||||
   enginelib
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										14
									
								
								docs/dev/engines/online/bt4g.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								docs/dev/engines/online/bt4g.rst
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
.. _bt4g engine:
 | 
			
		||||
 | 
			
		||||
====
 | 
			
		||||
BT4G
 | 
			
		||||
====
 | 
			
		||||
 | 
			
		||||
.. contents:: Contents
 | 
			
		||||
   :depth: 2
 | 
			
		||||
   :local:
 | 
			
		||||
   :backlinks: entry
 | 
			
		||||
 | 
			
		||||
.. automodule:: searx.engines.bt4g
 | 
			
		||||
  :members:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,40 @@
 | 
			
		|||
# SPDX-License-Identifier: AGPL-3.0-or-later
 | 
			
		||||
# lint: pylint
 | 
			
		||||
"""
 | 
			
		||||
 BT4G (Videos, Music, Files)
 | 
			
		||||
"""BT4G_ (bt4g.com) is not a tracker and doesn't store any content and only
 | 
			
		||||
collects torrent metadata (such as file names and file sizes) and a magnet link
 | 
			
		||||
(torrent identifier).
 | 
			
		||||
 | 
			
		||||
This engine does not parse the HTML page because there is an API in XML (RSS).
 | 
			
		||||
The RSS feed provides fewer data like amount of seeders/leechers and the files
 | 
			
		||||
in the torrent file.  It's a tradeoff for a "stable" engine as the XML from RSS
 | 
			
		||||
content will change way less than the HTML page.
 | 
			
		||||
 | 
			
		||||
.. _BT4G: https://bt4g.com/
 | 
			
		||||
 | 
			
		||||
Configuration
 | 
			
		||||
=============
 | 
			
		||||
 | 
			
		||||
The engine has the following additional settings:
 | 
			
		||||
 | 
			
		||||
- :py:obj:`bt4g_order_by`
 | 
			
		||||
- :py:obj:`bt4g_category`
 | 
			
		||||
 | 
			
		||||
With this options a SearXNG maintainer is able to configure **additional**
 | 
			
		||||
engines for specific torrent searches.  For example a engine to search only for
 | 
			
		||||
Movies and sort the result list by the count of seeders.
 | 
			
		||||
 | 
			
		||||
.. code:: yaml
 | 
			
		||||
 | 
			
		||||
  - name: bt4g.movie
 | 
			
		||||
    engine: bt4g
 | 
			
		||||
    shortcut: bt4gv
 | 
			
		||||
    categories: video
 | 
			
		||||
    bt4g_order_by: seeders
 | 
			
		||||
    bt4g_category: 'movie'
 | 
			
		||||
 | 
			
		||||
Implementations
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
import re
 | 
			
		||||
| 
						 | 
				
			
			@ -28,8 +61,19 @@ time_range_support = True
 | 
			
		|||
# search-url
 | 
			
		||||
url = 'https://bt4gprx.com'
 | 
			
		||||
search_url = url + '/search?q={search_term}&orderby={order_by}&category={category}&p={pageno}&page=rss'
 | 
			
		||||
bt4g_order_by = 'relevance'  # relevance, size, seeders, time
 | 
			
		||||
bt4g_category = 'all'  # all, audio, movie, doc, app, other
 | 
			
		||||
bt4g_order_by = 'relevance'
 | 
			
		||||
"""Result list can be ordered by ``relevance`` (default), ``size``, ``seeders``
 | 
			
		||||
or ``time``.
 | 
			
		||||
 | 
			
		||||
.. hint::
 | 
			
		||||
 | 
			
		||||
  When *time_range* is activate, the results always orderd by ``time``.
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
bt4g_category = 'all'
 | 
			
		||||
"""BT$G offers categoies: ``all`` (default), ``audio``, ``movie``, ``doc``,
 | 
			
		||||
``app`` and `` other``.
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def request(query, params):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue