[chore] *: fix typos detected by typos-cli
This commit is contained in:
		
							parent
							
								
									0253c10b52
								
							
						
					
					
						commit
						f31a3a2053
					
				| @ -93,7 +93,7 @@ Online Currency | |||||||
| 
 | 
 | ||||||
|    - :py:obj:`processors.online_currency <searx.search.processors.online_currency>` |    - :py:obj:`processors.online_currency <searx.search.processors.online_currency>` | ||||||
| 
 | 
 | ||||||
| *no engine of this type is documented yet / comming soon* | *no engine of this type is documented yet / coming soon* | ||||||
| 
 | 
 | ||||||
| .. _online dictionary: | .. _online dictionary: | ||||||
| 
 | 
 | ||||||
| @ -104,4 +104,4 @@ Online Dictionary | |||||||
| 
 | 
 | ||||||
|    - :py:obj:`processors.online_dictionary <searx.search.processors.online_dictionary>` |    - :py:obj:`processors.online_dictionary <searx.search.processors.online_dictionary>` | ||||||
| 
 | 
 | ||||||
| *no engine of this type is documented yet / comming soon* | *no engine of this type is documented yet / coming soon* | ||||||
|  | |||||||
| @ -22,7 +22,7 @@ log = logging.getLogger(__name__) | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class FALSE: | class FALSE: | ||||||
|     """Class of ``False`` singelton""" |     """Class of ``False`` singleton""" | ||||||
| 
 | 
 | ||||||
|     # pylint: disable=multiple-statements |     # pylint: disable=multiple-statements | ||||||
|     def __init__(self, msg): |     def __init__(self, msg): | ||||||
| @ -81,7 +81,7 @@ class Config: | |||||||
|         return cfg |         return cfg | ||||||
| 
 | 
 | ||||||
|     def __init__(self, cfg_schema: typing.Dict, deprecated: typing.Dict[str, str]): |     def __init__(self, cfg_schema: typing.Dict, deprecated: typing.Dict[str, str]): | ||||||
|         """Construtor of class Config. |         """Constructor of class Config. | ||||||
| 
 | 
 | ||||||
|         :param cfg_schema: Schema of the configuration |         :param cfg_schema: Schema of the configuration | ||||||
|         :param deprecated: dictionary that maps deprecated configuration names to a messages |         :param deprecated: dictionary that maps deprecated configuration names to a messages | ||||||
| @ -159,7 +159,7 @@ class Config: | |||||||
|         return pathlib.Path(str(val)) |         return pathlib.Path(str(val)) | ||||||
| 
 | 
 | ||||||
|     def pyobj(self, name, default=UNSET): |     def pyobj(self, name, default=UNSET): | ||||||
|         """Get python object refered by full qualiffied name (FQN) in the config |         """Get python object referred by full qualiffied name (FQN) in the config | ||||||
|         string.""" |         string.""" | ||||||
| 
 | 
 | ||||||
|         fqn = self.get(name, default) |         fqn = self.get(name, default) | ||||||
|  | |||||||
| @ -55,10 +55,10 @@ from ._helpers import ( | |||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| TOKEN_LIVE_TIME = 600 | TOKEN_LIVE_TIME = 600 | ||||||
| """Livetime (sec) of limiter's CSS token.""" | """Lifetime (sec) of limiter's CSS token.""" | ||||||
| 
 | 
 | ||||||
| PING_LIVE_TIME = 3600 | PING_LIVE_TIME = 3600 | ||||||
| """Livetime (sec) of the ping-key from a client (request)""" | """Lifetime (sec) of the ping-key from a client (request)""" | ||||||
| 
 | 
 | ||||||
| PING_KEY = 'SearXNG_limiter.ping' | PING_KEY = 'SearXNG_limiter.ping' | ||||||
| """Prefix of all ping-keys generated by :py:obj:`get_ping_key`""" | """Prefix of all ping-keys generated by :py:obj:`get_ping_key`""" | ||||||
|  | |||||||
| @ -31,7 +31,7 @@ paging = True | |||||||
| number_of_results = 10 | number_of_results = 10 | ||||||
| 
 | 
 | ||||||
| # shortcuts for advanced search | # shortcuts for advanced search | ||||||
| shorcut_dict = { | shortcut_dict = { | ||||||
|     # user-friendly keywords |     # user-friendly keywords | ||||||
|     'format:': 'dcformat:', |     'format:': 'dcformat:', | ||||||
|     'author:': 'dccreator:', |     'author:': 'dccreator:', | ||||||
| @ -55,7 +55,7 @@ shorcut_dict = { | |||||||
| 
 | 
 | ||||||
| def request(query, params): | def request(query, params): | ||||||
|     # replace shortcuts with API advanced search keywords |     # replace shortcuts with API advanced search keywords | ||||||
|     for key, val in shorcut_dict.items(): |     for key, val in shortcut_dict.items(): | ||||||
|         query = re.sub(key, val, query) |         query = re.sub(key, val, query) | ||||||
| 
 | 
 | ||||||
|     # basic search |     # basic search | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ On the `preference page`_ Bing offers a lot of languages an regions (see section | |||||||
| LANGUAGE and COUNTRY/REGION).  The Language is the language of the UI, we need | LANGUAGE and COUNTRY/REGION).  The Language is the language of the UI, we need | ||||||
| in SearXNG to get the translations of data such as *"published last week"*. | in SearXNG to get the translations of data such as *"published last week"*. | ||||||
| 
 | 
 | ||||||
| There is a description of the offical search-APIs_, unfortunately this is not | There is a description of the official search-APIs_, unfortunately this is not | ||||||
| the API we can use or that bing itself would use.  You can look up some things | the API we can use or that bing itself would use.  You can look up some things | ||||||
| in the API to get a better picture of bing, but the value specifications like | in the API to get a better picture of bing, but the value specifications like | ||||||
| the market codes are usually outdated or at least no longer used by bing itself. | the market codes are usually outdated or at least no longer used by bing itself. | ||||||
| @ -91,7 +91,7 @@ def request(query, params): | |||||||
|     page = params.get('pageno', 1) |     page = params.get('pageno', 1) | ||||||
|     query_params = { |     query_params = { | ||||||
|         'q': query, |         'q': query, | ||||||
|         # if arg 'pq' is missed, somtimes on page 4 we get results from page 1, |         # if arg 'pq' is missed, sometimes on page 4 we get results from page 1, | ||||||
|         # don't ask why it is only sometimes / its M$ and they have never been |         # don't ask why it is only sometimes / its M$ and they have never been | ||||||
|         # deterministic ;) |         # deterministic ;) | ||||||
|         'pq': query, |         'pq': query, | ||||||
| @ -177,7 +177,7 @@ def response(resp): | |||||||
|         logger.debug('result error :\n%s', e) |         logger.debug('result error :\n%s', e) | ||||||
| 
 | 
 | ||||||
|     if result_len and _page_offset(resp.search_params.get("pageno", 0)) > result_len: |     if result_len and _page_offset(resp.search_params.get("pageno", 0)) > result_len: | ||||||
|         # Avoid reading more results than avalaible. |         # Avoid reading more results than available. | ||||||
|         # For example, if there is 100 results from some search and we try to get results from 120 to 130, |         # For example, if there is 100 results from some search and we try to get results from 120 to 130, | ||||||
|         # Bing will send back the results from 0 to 10 and no error. |         # Bing will send back the results from 0 to 10 and no error. | ||||||
|         # If we compare results count with the first parameter of the request we can avoid this "invalid" results. |         # If we compare results count with the first parameter of the request we can avoid this "invalid" results. | ||||||
|  | |||||||
| @ -42,7 +42,7 @@ about = { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| send_accept_language_header = True | send_accept_language_header = True | ||||||
| """DuckDuckGo-Lite tries to guess user's prefered language from the HTTP | """DuckDuckGo-Lite tries to guess user's preferred language from the HTTP | ||||||
| ``Accept-Language``.  Optional the user can select a region filter (but not a | ``Accept-Language``.  Optional the user can select a region filter (but not a | ||||||
| language). | language). | ||||||
| """ | """ | ||||||
| @ -402,7 +402,7 @@ def fetch_traits(engine_traits: EngineTraits): | |||||||
|     """Fetch languages & regions from DuckDuckGo. |     """Fetch languages & regions from DuckDuckGo. | ||||||
| 
 | 
 | ||||||
|     SearXNG's ``all`` locale maps DuckDuckGo's "Alle regions" (``wt-wt``). |     SearXNG's ``all`` locale maps DuckDuckGo's "Alle regions" (``wt-wt``). | ||||||
|     DuckDuckGo's language "Browsers prefered language" (``wt_WT``) makes no |     DuckDuckGo's language "Browsers preferred language" (``wt_WT``) makes no | ||||||
|     sense in a SearXNG request since SearXNG's ``all`` will not add a |     sense in a SearXNG request since SearXNG's ``all`` will not add a | ||||||
|     ``Accept-Language`` HTTP header.  The value in ``engine_traits.all_locale`` |     ``Accept-Language`` HTTP header.  The value in ``engine_traits.all_locale`` | ||||||
|     is ``wt-wt`` (the region). |     is ``wt-wt`` (the region). | ||||||
|  | |||||||
| @ -142,7 +142,7 @@ search_url = base_url + '/sp/search' | |||||||
| 
 | 
 | ||||||
| # specific xpath variables | # specific xpath variables | ||||||
| # ads xpath //div[@id="results"]/div[@id="sponsored"]//div[@class="result"] | # ads xpath //div[@id="results"]/div[@id="sponsored"]//div[@class="result"] | ||||||
| # not ads: div[@class="result"] are the direct childs of div[@id="results"] | # not ads: div[@class="result"] are the direct children of div[@id="results"] | ||||||
| search_form_xpath = '//form[@id="search"]' | search_form_xpath = '//form[@id="search"]' | ||||||
| """XPath of Startpage's origin search form | """XPath of Startpage's origin search form | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -208,7 +208,7 @@ def response(resp): | |||||||
|                 'title': backlink['image_name'], |                 'title': backlink['image_name'], | ||||||
|                 'img_src': backlink['url'], |                 'img_src': backlink['url'], | ||||||
|                 'format': tineye_match['image_format'], |                 'format': tineye_match['image_format'], | ||||||
|                 'widht': tineye_match['width'], |                 'width': tineye_match['width'], | ||||||
|                 'height': tineye_match['height'], |                 'height': tineye_match['height'], | ||||||
|                 'publishedDate': backlink['crawl_date'], |                 'publishedDate': backlink['crawl_date'], | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -32,7 +32,7 @@ void_arch = 'x86_64' | |||||||
| """Default architecture to search for.  For valid values see :py:obj:`ARCH_RE`""" | """Default architecture to search for.  For valid values see :py:obj:`ARCH_RE`""" | ||||||
| 
 | 
 | ||||||
| ARCH_RE = re.compile('aarch64-musl|armv6l-musl|armv7l-musl|x86_64-musl|aarch64|armv6l|armv7l|i686|x86_64') | ARCH_RE = re.compile('aarch64-musl|armv6l-musl|armv7l-musl|x86_64-musl|aarch64|armv6l|armv7l|i686|x86_64') | ||||||
| """Regular expresion that match a architecture in the query string.""" | """Regular expression that match a architecture in the query string.""" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def request(query, params): | def request(query, params): | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ ipv6_prefix = 48 | |||||||
| 
 | 
 | ||||||
| [botdetection.ip_limit] | [botdetection.ip_limit] | ||||||
| 
 | 
 | ||||||
| # To get unlimited access in a local network, by default link-lokal addresses | # To get unlimited access in a local network, by default link-local addresses | ||||||
| # (networks) are not monitored by the ip_limit | # (networks) are not monitored by the ip_limit | ||||||
| filter_link_local = false | filter_link_local = false | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -120,7 +120,7 @@ _TR_LOCALES: list[str] = [] | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def get_translation_locales() -> list[str]: | def get_translation_locales() -> list[str]: | ||||||
|     """Returns the list of transaltion locales (*underscore*).  The list is |     """Returns the list of translation locales (*underscore*).  The list is | ||||||
|     generated from the translation folders in :origin:`searx/translations`""" |     generated from the translation folders in :origin:`searx/translations`""" | ||||||
| 
 | 
 | ||||||
|     global _TR_LOCALES  # pylint:disable=global-statement |     global _TR_LOCALES  # pylint:disable=global-statement | ||||||
|  | |||||||
| @ -234,7 +234,7 @@ def _parse_text_and_convert(search, from_query, to_query): | |||||||
|         value = target_from_si(float(value)) |         value = target_from_si(float(value)) | ||||||
| 
 | 
 | ||||||
|     if measured.group('E'): |     if measured.group('E'): | ||||||
|         # when incomming notation is scientific, outgoing notation is scientific |         # when incoming notation is scientific, outgoing notation is scientific | ||||||
|         result = babel.numbers.format_scientific(value, locale=_locale) |         result = babel.numbers.format_scientific(value, locale=_locale) | ||||||
|     else: |     else: | ||||||
|         result = babel.numbers.format_decimal(value, locale=_locale, format='#,##0.##########;-#') |         result = babel.numbers.format_decimal(value, locale=_locale, format='#,##0.##########;-#') | ||||||
|  | |||||||
| @ -325,7 +325,7 @@ class ClientPref: | |||||||
|     # hint: searx.webapp.get_client_settings should be moved into this class |     # hint: searx.webapp.get_client_settings should be moved into this class | ||||||
| 
 | 
 | ||||||
|     locale: babel.Locale |     locale: babel.Locale | ||||||
|     """Locale prefered by the client.""" |     """Locale preferred by the client.""" | ||||||
| 
 | 
 | ||||||
|     def __init__(self, locale: Optional[babel.Locale] = None): |     def __init__(self, locale: Optional[babel.Locale] = None): | ||||||
|         self.locale = locale |         self.locale = locale | ||||||
|  | |||||||
| @ -13,8 +13,8 @@ | |||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   // update the css
 |   // update the css
 | ||||||
|   var hmtlElement = d.getElementsByTagName("html")[0]; |   var htmlElement = d.getElementsByTagName("html")[0]; | ||||||
|   hmtlElement.classList.remove('no-js'); |   htmlElement.classList.remove('no-js'); | ||||||
|   hmtlElement.classList.add('js'); |   htmlElement.classList.add('js'); | ||||||
| 
 | 
 | ||||||
| })(window, document); | })(window, document); | ||||||
|  | |||||||
| @ -8,7 +8,7 @@ window.searxng = (function (w, d) { | |||||||
| 
 | 
 | ||||||
|   'use strict'; |   'use strict'; | ||||||
| 
 | 
 | ||||||
|   // not invented here tookit with bugs fixed elsewhere
 |   // not invented here toolkit with bugs fixed elsewhere
 | ||||||
|   // purposes : be just good enough and as small as possible
 |   // purposes : be just good enough and as small as possible
 | ||||||
| 
 | 
 | ||||||
|   // from https://plainjs.com/javascript/events/live-binding-event-handlers-14/
 |   // from https://plainjs.com/javascript/events/live-binding-event-handlers-14/
 | ||||||
|  | |||||||
| @ -441,7 +441,7 @@ searxng.ready(function () { | |||||||
|       var body = document.getElementsByTagName('body')[0]; |       var body = document.getElementsByTagName('body')[0]; | ||||||
|       body.appendChild(helpPanel); |       body.appendChild(helpPanel); | ||||||
|     } else { |     } else { | ||||||
|       // togggle hidden
 |       // toggle hidden
 | ||||||
|       helpPanel.classList.toggle('invisible'); |       helpPanel.classList.toggle('invisible'); | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -67,7 +67,7 @@ | |||||||
|         } */ |         } */ | ||||||
|       }); |       }); | ||||||
| 
 | 
 | ||||||
|       // this event occour only once per element
 |       // this event occur only once per element
 | ||||||
|       event.preventDefault(); |       event.preventDefault(); | ||||||
|     }); |     }); | ||||||
|   }); |   }); | ||||||
|  | |||||||
| @ -13,8 +13,8 @@ iframe[src^="https://www.mixcloud.com"] { | |||||||
|   // issue with an image URL that is blocked since it is an a Cross-Origin |   // issue with an image URL that is blocked since it is an a Cross-Origin | ||||||
|   // request. The alternative text (<img alt='Mixcloud Logo'> then cause an |   // request. The alternative text (<img alt='Mixcloud Logo'> then cause an | ||||||
|   // scrollbar in the inner of the iframe we can't avoid.  Another quirk comes |   // scrollbar in the inner of the iframe we can't avoid.  Another quirk comes | ||||||
|   // when pressing the play button, somtimes the shown player has an height of |   // when pressing the play button, sometimes the shown player has an height of | ||||||
|   // 200px, somtimes 250px. |   // 200px, sometimes 250px. | ||||||
|   height: 250px; |   height: 250px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -4,31 +4,31 @@ see the CSS rules for #results in style.less ( grid-template-columns and gap). | |||||||
| 
 | 
 | ||||||
| In this file, the --center-page-width values comes from the Oscar theme (Bootstrap 3). | In this file, the --center-page-width values comes from the Oscar theme (Bootstrap 3). | ||||||
| 
 | 
 | ||||||
| All rules starts with ".center-aligment-yes #main_results" to be enabled only | All rules starts with ".center-alignment-yes #main_results" to be enabled only | ||||||
| on the /search URL and when the "center alignment" preference is enabled. | on the /search URL and when the "center alignment" preference is enabled. | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| @media screen and (min-width: @phone) { | @media screen and (min-width: @phone) { | ||||||
|   .center-aligment-yes #main_results { |   .center-alignment-yes #main_results { | ||||||
|     --center-page-width: 48rem; |     --center-page-width: 48rem; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media screen and (min-width: 62rem) { | @media screen and (min-width: 62rem) { | ||||||
|   .center-aligment-yes #main_results { |   .center-alignment-yes #main_results { | ||||||
|     --center-page-width: 60rem; |     --center-page-width: 60rem; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media screen and (min-width: @tablet) { | @media screen and (min-width: @tablet) { | ||||||
|   .center-aligment-yes #main_results { |   .center-alignment-yes #main_results { | ||||||
|     --center-page-width: 73rem; |     --center-page-width: 73rem; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media screen and (min-width: @phone) and (max-width: @tablet) { | @media screen and (min-width: @phone) and (max-width: @tablet) { | ||||||
|   // any change must be reset in @media screen and (min-width: @tablet) { ... } |   // any change must be reset in @media screen and (min-width: @tablet) { ... } | ||||||
|   .center-aligment-yes #main_results { |   .center-alignment-yes #main_results { | ||||||
|     #results { |     #results { | ||||||
|       grid-template-columns: 60% calc(40% - @results-gap); |       grid-template-columns: 60% calc(40% - @results-gap); | ||||||
|       margin-left: 0; |       margin-left: 0; | ||||||
| @ -50,7 +50,7 @@ on the /search URL and when the "center alignment" preference is enabled. | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media screen and (min-width: @tablet) { | @media screen and (min-width: @tablet) { | ||||||
|   .center-aligment-yes #main_results { |   .center-alignment-yes #main_results { | ||||||
|     display: flex; |     display: flex; | ||||||
|     flex-direction: column; |     flex-direction: column; | ||||||
|     align-items: center; |     align-items: center; | ||||||
|  | |||||||
| @ -297,7 +297,7 @@ article[data-vim-selected].category-social { | |||||||
|     padding-top: 0.6rem; |     padding-top: 0.6rem; | ||||||
|     .ltr-padding-right(1rem); |     .ltr-padding-right(1rem); | ||||||
|     width: 7rem; |     width: 7rem; | ||||||
|     height: unset; // remove heigth value that was needed for lazy loading |     height: unset; // remove height value that was needed for lazy loading | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   .break { |   .break { | ||||||
| @ -399,7 +399,7 @@ article[data-vim-selected].category-social { | |||||||
|     padding-top: 0.6rem; |     padding-top: 0.6rem; | ||||||
|     .ltr-padding-right(1rem); |     .ltr-padding-right(1rem); | ||||||
|     width: 20rem; |     width: 20rem; | ||||||
|     height: unset; // remove heigth value that was needed for lazy loading |     height: unset; // remove height value that was needed for lazy loading | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -639,12 +639,12 @@ summary.title { | |||||||
|   padding-top: 1em; |   padding-top: 1em; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .sidebar-collapsable { | .sidebar-collapsible { | ||||||
|   border-top: 1px solid var(--color-sidebar-border); |   border-top: 1px solid var(--color-sidebar-border); | ||||||
|   padding-bottom: 0.5em; |   padding-bottom: 0.5em; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #sidebar-end-collapsable { | #sidebar-end-collapsible { | ||||||
|   border-bottom: 1px solid var(--color-sidebar-border); |   border-bottom: 1px solid var(--color-sidebar-border); | ||||||
|   width: 100%; |   width: 100%; | ||||||
| } | } | ||||||
| @ -1007,10 +1007,10 @@ summary.title { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media screen and (min-width: @phone) and (max-width: @tablet) { | @media screen and (min-width: @phone) and (max-width: @tablet) { | ||||||
|   // when .center-aligment-yes, see style-center.less |   // when .center-alignment-yes, see style-center.less | ||||||
|   // the media query includes "min-width: @phone" |   // the media query includes "min-width: @phone" | ||||||
|   // because the phone layout includes the tablet layout unconditionally. |   // because the phone layout includes the tablet layout unconditionally. | ||||||
|   .center-aligment-no { |   .center-alignment-no { | ||||||
|     .results-tablet(); |     .results-tablet(); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| <!DOCTYPE html> | <!DOCTYPE html> | ||||||
| <html class="no-js theme-{{ preferences.get_value('simple_style') or 'auto' }} center-aligment-{{ preferences.get_value('center_alignment') and 'yes' or 'no' }}" lang="{{ locale_rfc5646 }}" {% if rtl %} dir="rtl"{% endif %}> | <html class="no-js theme-{{ preferences.get_value('simple_style') or 'auto' }} center-alignment-{{ preferences.get_value('center_alignment') and 'yes' or 'no' }}" lang="{{ locale_rfc5646 }}" {% if rtl %} dir="rtl"{% endif %}> | ||||||
| <head> | <head> | ||||||
|   <meta charset="UTF-8"> |   <meta charset="UTF-8"> | ||||||
|   <meta name="description" content="SearXNG — a privacy-respecting, open metasearch engine"> |   <meta name="description" content="SearXNG — a privacy-respecting, open metasearch engine"> | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| <div id="apis" role="complementary" aria-labelledby="apis-title"> | <div id="apis" role="complementary" aria-labelledby="apis-title"> | ||||||
|   <details class="sidebar-collapsable"> |   <details class="sidebar-collapsible"> | ||||||
|     <summary class="title" id="apis-title">{{ _('Download results') }}</summary> |     <summary class="title" id="apis-title">{{ _('Download results') }}</summary> | ||||||
|     <div class="wrapper"> |     <div class="wrapper"> | ||||||
|       {%- for output_type in search_formats -%} |       {%- for output_type in search_formats -%} | ||||||
|  | |||||||
| @ -1,9 +1,9 @@ | |||||||
| <div id="engines_msg"> | <div id="engines_msg"> | ||||||
|   {% if (not results and not answers) or not max_response_time %} |   {% if (not results and not answers) or not max_response_time %} | ||||||
|   <details class="sidebar-collapsable" open> |   <details class="sidebar-collapsible" open> | ||||||
|     <summary class="title" id="engines_msg-title">{{ _('Messages from the search engines') }}</summary> |     <summary class="title" id="engines_msg-title">{{ _('Messages from the search engines') }}</summary> | ||||||
|   {% else %} |   {% else %} | ||||||
|   <details class="sidebar-collapsable"> |   <details class="sidebar-collapsible"> | ||||||
|     <summary class="title" id="engines_msg-title">{{ _('Response time') }}: {{ max_response_time | round(1) }} {{ _('seconds') }}</summary> |     <summary class="title" id="engines_msg-title">{{ _('Response time') }}: {{ max_response_time | round(1) }} {{ _('seconds') }}</summary> | ||||||
|   {% endif %} |   {% endif %} | ||||||
|     <table class="engine-stats" id="engines_msg-table"> |     <table class="engine-stats" id="engines_msg-table"> | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| <div id="search_url" role="complementary" aria-labelledby="search_url-title"> | <div id="search_url" role="complementary" aria-labelledby="search_url-title"> | ||||||
|   <details class="sidebar-collapsable"> |   <details class="sidebar-collapsible"> | ||||||
|     <summary class="title" id="search_url-title">{{ _('Search URL') }}</summary> |     <summary class="title" id="search_url-title">{{ _('Search URL') }}</summary> | ||||||
|     <button id="copy_url" type="submit" data-copied-text="{{ _('Copied') }}">{{ _('Copy') }}</button> |     <button id="copy_url" type="submit" data-copied-text="{{ _('Copied') }}">{{ _('Copy') }}</button> | ||||||
|     <div class="selectable_url"> |     <div class="selectable_url"> | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| <div id="suggestions" role="complementary" aria-labelledby="suggestions-title"> | <div id="suggestions" role="complementary" aria-labelledby="suggestions-title"> | ||||||
|   <details class="sidebar-collapsable"> |   <details class="sidebar-collapsible"> | ||||||
|     <summary class="title" id="suggestions-title">{{ _('Suggestions') }}</summary> |     <summary class="title" id="suggestions-title">{{ _('Suggestions') }}</summary> | ||||||
|     <div class="wrapper"> |     <div class="wrapper"> | ||||||
|       {%- for suggestion in suggestions -%} |       {%- for suggestion in suggestions -%} | ||||||
|  | |||||||
| @ -61,7 +61,7 @@ or manually by executing the searx/webapp.py file? --> | |||||||
| {%- endfor -%} | {%- endfor -%} | ||||||
|     </textarea> |     </textarea> | ||||||
|     <input type="checkbox" id="step1"> |     <input type="checkbox" id="step1"> | ||||||
|     <label for="step1">{{ _('Start submiting a new issue on GitHub') }}</label> |     <label for="step1">{{ _('Start submitting a new issue on GitHub') }}</label> | ||||||
|     <div class="step1 step_content"> |     <div class="step1 step_content"> | ||||||
|         <p><a href="{{ get_setting('brand.issue_url') }}?q=is%3Aissue+Bug:%20{{ engine_name }} {{ technical_report }}" target="_blank" rel="noreferrer noreferrer">{{ _('Please check for existing bugs about this engine on GitHub') }}</a></p> |         <p><a href="{{ get_setting('brand.issue_url') }}?q=is%3Aissue+Bug:%20{{ engine_name }} {{ technical_report }}" target="_blank" rel="noreferrer noreferrer">{{ _('Please check for existing bugs about this engine on GitHub') }}</a></p> | ||||||
|     </div> |     </div> | ||||||
|  | |||||||
| @ -44,7 +44,7 @@ | |||||||
| 
 | 
 | ||||||
|         {%- if infoboxes -%} |         {%- if infoboxes -%} | ||||||
|           <div id="infoboxes"> |           <div id="infoboxes"> | ||||||
|             <details open class="sidebar-collapsable"> |             <details open class="sidebar-collapsible"> | ||||||
|               <summary class="title">{{ _('Info') }}</summary> |               <summary class="title">{{ _('Info') }}</summary> | ||||||
|               {%- for infobox in infoboxes -%} |               {%- for infobox in infoboxes -%} | ||||||
|                 {%- include 'simple/elements/infobox.html' -%} |                 {%- include 'simple/elements/infobox.html' -%} | ||||||
| @ -67,7 +67,7 @@ | |||||||
|           {%- include 'simple/elements/apis.html' -%} |           {%- include 'simple/elements/apis.html' -%} | ||||||
|         {%- endif -%} |         {%- endif -%} | ||||||
| 
 | 
 | ||||||
|         <div id="sidebar-end-collapsable"></div> |         <div id="sidebar-end-collapsible"></div> | ||||||
|     </div> |     </div> | ||||||
| 
 | 
 | ||||||
|     {% if corrections %} |     {% if corrections %} | ||||||
|  | |||||||
| @ -677,7 +677,7 @@ msgid "proxied" | |||||||
| msgstr "" | msgstr "" | ||||||
| 
 | 
 | ||||||
| #: searx/templates/simple/new_issue.html:64 | #: searx/templates/simple/new_issue.html:64 | ||||||
| msgid "Start submiting a new issue on GitHub" | msgid "Start submitting a new issue on GitHub" | ||||||
| msgstr "" | msgstr "" | ||||||
| 
 | 
 | ||||||
| #: searx/templates/simple/new_issue.html:66 | #: searx/templates/simple/new_issue.html:66 | ||||||
|  | |||||||
| @ -48,7 +48,7 @@ _XPATH_CACHE: Dict[str, XPath] = {} | |||||||
| _LANG_TO_LC_CACHE: Dict[str, Dict[str, str]] = {} | _LANG_TO_LC_CACHE: Dict[str, Dict[str, str]] = {} | ||||||
| 
 | 
 | ||||||
| _FASTTEXT_MODEL: Optional["fasttext.FastText._FastText"] = None  # type: ignore | _FASTTEXT_MODEL: Optional["fasttext.FastText._FastText"] = None  # type: ignore | ||||||
| """fasttext model to predict laguage of a search term""" | """fasttext model to predict language of a search term""" | ||||||
| 
 | 
 | ||||||
| SEARCH_LANGUAGE_CODES = frozenset([searxng_locale[0].split('-')[0] for searxng_locale in sxng_locales]) | SEARCH_LANGUAGE_CODES = frozenset([searxng_locale[0].split('-')[0] for searxng_locale in sxng_locales]) | ||||||
| """Languages supported by most searxng engines (:py:obj:`searx.sxng_locales.sxng_locales`).""" | """Languages supported by most searxng engines (:py:obj:`searx.sxng_locales.sxng_locales`).""" | ||||||
|  | |||||||
| @ -225,7 +225,7 @@ def get_search_query_from_webapp( | |||||||
|     """Assemble data from preferences and request.form (from the HTML form) needed |     """Assemble data from preferences and request.form (from the HTML form) needed | ||||||
|     in a search query. |     in a search query. | ||||||
| 
 | 
 | ||||||
|     The returned tuple consits of: |     The returned tuple consists of: | ||||||
| 
 | 
 | ||||||
|     1. instance of :py:obj:`searx.search.SearchQuery` |     1. instance of :py:obj:`searx.search.SearchQuery` | ||||||
|     2. instance of :py:obj:`searx.query.RawTextQuery` |     2. instance of :py:obj:`searx.query.RawTextQuery` | ||||||
|  | |||||||
| @ -72,7 +72,7 @@ def _instance_infosetset_ctx(base_url): | |||||||
|     #   from searx.network import network |     #   from searx.network import network | ||||||
|     #   network.done() |     #   network.done() | ||||||
| 
 | 
 | ||||||
|     # waiting some seconds before ending the comand line was the only solution I |     # waiting some seconds before ending the command line was the only solution I | ||||||
|     # found .. |     # found .. | ||||||
| 
 | 
 | ||||||
|     time.sleep(3) |     time.sleep(3) | ||||||
|  | |||||||
| @ -85,7 +85,7 @@ def main(): | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def fetch_traits_map(): | def fetch_traits_map(): | ||||||
|     """Fetchs supported languages for each engine and writes json file with those.""" |     """Fetches supported languages for each engine and writes json file with those.""" | ||||||
|     network.set_timeout_for_thread(10.0) |     network.set_timeout_for_thread(10.0) | ||||||
| 
 | 
 | ||||||
|     def log(msg): |     def log(msg): | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ from searx.locales import ( | |||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| LOCALE_DATA_FILE = Path(searx_dir) / 'data' / 'locales.json' | LOCALE_DATA_FILE = Path(searx_dir) / 'data' / 'locales.json' | ||||||
| TRANSLATOINS_FOLDER = Path(searx_dir) / 'translations' | TRANSLATIONS_FOLDER = Path(searx_dir) / 'translations' | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def main(): | def main(): | ||||||
|  | |||||||
| @ -65,7 +65,7 @@ def main(): | |||||||
|         test_layer.setUp() |         test_layer.setUp() | ||||||
|         run_robot_tests([getattr(test_webapp, x) for x in dir(test_webapp) if x.startswith('test_')]) |         run_robot_tests([getattr(test_webapp, x) for x in dir(test_webapp) if x.startswith('test_')]) | ||||||
|     except Exception:  # pylint: disable=broad-except |     except Exception:  # pylint: disable=broad-except | ||||||
|         print('Error occured: {0}'.format(traceback.format_exc())) |         print('Error occurred: {0}'.format(traceback.format_exc())) | ||||||
|         sys.exit(1) |         sys.exit(1) | ||||||
|     finally: |     finally: | ||||||
|         test_layer.tearDown() |         test_layer.tearDown() | ||||||
|  | |||||||
							
								
								
									
										10
									
								
								utils/lib.sh
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								utils/lib.sh
									
									
									
									
									
								
							| @ -772,7 +772,7 @@ docs.clean() { | |||||||
| 
 | 
 | ||||||
| docs.prebuild() { | docs.prebuild() { | ||||||
|     # Dummy function to run some actions before sphinx-doc build gets started. |     # Dummy function to run some actions before sphinx-doc build gets started. | ||||||
|     # This finction needs to be overwritten by the application script. |     # This function needs to be overwritten by the application script. | ||||||
|     true |     true | ||||||
|     dump_return $? |     dump_return $? | ||||||
| } | } | ||||||
| @ -1065,7 +1065,7 @@ nginx_remove_app() { | |||||||
|     # usage:  nginx_remove_app <myapp.conf> |     # usage:  nginx_remove_app <myapp.conf> | ||||||
| 
 | 
 | ||||||
|     info_msg "remove nginx app: $1" |     info_msg "remove nginx app: $1" | ||||||
|     nginx_dissable_app "$1" |     nginx_disable_app "$1" | ||||||
|     rm -f "${NGINX_APPS_AVAILABLE}/$1" |     rm -f "${NGINX_APPS_AVAILABLE}/$1" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -1082,7 +1082,7 @@ nginx_enable_app() { | |||||||
|     nginx_reload |     nginx_reload | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| nginx_dissable_app() { | nginx_disable_app() { | ||||||
| 
 | 
 | ||||||
|     # usage:  nginx_disable_app <myapp.conf> |     # usage:  nginx_disable_app <myapp.conf> | ||||||
| 
 | 
 | ||||||
| @ -1192,7 +1192,7 @@ apache_remove_site() { | |||||||
|     # usage:  apache_remove_site <mysite.conf> |     # usage:  apache_remove_site <mysite.conf> | ||||||
| 
 | 
 | ||||||
|     info_msg "remove apache site: $1" |     info_msg "remove apache site: $1" | ||||||
|     apache_dissable_site "$1" |     apache_disable_site "$1" | ||||||
|     rm -f "${APACHE_SITES_AVAILABLE}/$1" |     rm -f "${APACHE_SITES_AVAILABLE}/$1" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -1222,7 +1222,7 @@ apache_enable_site() { | |||||||
|     apache_reload |     apache_reload | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| apache_dissable_site() { | apache_disable_site() { | ||||||
| 
 | 
 | ||||||
|     # usage:  apache_disable_site <mysite.conf> |     # usage:  apache_disable_site <mysite.conf> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -56,7 +56,7 @@ EOF | |||||||
| 
 | 
 | ||||||
| go.ver_info(){ | go.ver_info(){ | ||||||
| 
 | 
 | ||||||
|     # print informations about a golang distribution. To print filename |     # print information about a golang distribution. To print filename | ||||||
|     # sha256 and size of the archive that fits to your OS and host: |     # sha256 and size of the archive that fits to your OS and host: | ||||||
|     # |     # | ||||||
|     #   go.ver_info "${GO_VERSION}" archive "$(go.os)" "$(go.arch)" filename sha256 size |     #   go.ver_info "${GO_VERSION}" archive "$(go.os)" "$(go.arch)" filename sha256 size | ||||||
|  | |||||||
| @ -36,7 +36,7 @@ nvm.is_installed() { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| if [[ -z "${NVM_DIR}" ]]; then | if [[ -z "${NVM_DIR}" ]]; then | ||||||
|     # nvm is not pre-intalled in $HOME.  Prepare for using nvm from <repo-root> |     # nvm is not pre-installed in $HOME.  Prepare for using nvm from <repo-root> | ||||||
|     NVM_DIR="$(git rev-parse --show-toplevel)/${NVM_LOCAL_FOLDER}" |     NVM_DIR="$(git rev-parse --show-toplevel)/${NVM_LOCAL_FOLDER}" | ||||||
| fi | fi | ||||||
| export NVM_DIR | export NVM_DIR | ||||||
| @ -93,7 +93,7 @@ nvm.help() { | |||||||
| nvm.: use nvm (without dot) to execute nvm commands directly | nvm.: use nvm (without dot) to execute nvm commands directly | ||||||
|   install   : install NVM locally at $(git rev-parse --show-toplevel)/${NVM_LOCAL_FOLDER} |   install   : install NVM locally at $(git rev-parse --show-toplevel)/${NVM_LOCAL_FOLDER} | ||||||
|   clean     : remove NVM installation |   clean     : remove NVM installation | ||||||
|   status    : prompt some status informations about nvm & node |   status    : prompt some status information about nvm & node | ||||||
|   nodejs    : install Node.js latest LTS |   nodejs    : install Node.js latest LTS | ||||||
|   cmd ...   : run command ... in NVM environment |   cmd ...   : run command ... in NVM environment | ||||||
|   bash      : start bash interpreter with NVM environment sourced |   bash      : start bash interpreter with NVM environment sourced | ||||||
| @ -108,7 +108,7 @@ nvm.install() { | |||||||
|         pushd "${NVM_DIR}" &> /dev/null |         pushd "${NVM_DIR}" &> /dev/null | ||||||
|         git fetch --all | prefix_stdout "  ${_Yellow}||${_creset} " |         git fetch --all | prefix_stdout "  ${_Yellow}||${_creset} " | ||||||
|     else |     else | ||||||
|         # delete any leftovers from previos installations |         # delete any leftovers from previous installations | ||||||
|         if nvm.is_local; then |         if nvm.is_local; then | ||||||
|             rm -rf "${NVM_DIR}" |             rm -rf "${NVM_DIR}" | ||||||
|         fi |         fi | ||||||
|  | |||||||
| @ -96,7 +96,7 @@ static.build.commit() { | |||||||
|         return 1 |         return 1 | ||||||
|     fi |     fi | ||||||
| 
 | 
 | ||||||
|     # drop existing commit from previos build |     # drop existing commit from previous build | ||||||
|     static.build.drop &>/dev/null |     static.build.drop &>/dev/null | ||||||
| 
 | 
 | ||||||
|     (   set -e |     (   set -e | ||||||
|  | |||||||
							
								
								
									
										10
									
								
								utils/lxc.sh
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								utils/lxc.sh
									
									
									
									
									
								
							| @ -159,7 +159,7 @@ main() { | |||||||
|             ;; |             ;; | ||||||
|         copy) |         copy) | ||||||
|             case $2 in |             case $2 in | ||||||
|                 ''|images) lxc_copy_images_localy;; |                 ''|images) lxc_copy_images_locally;; | ||||||
|                 *) usage "$_usage"; exit 42;; |                 *) usage "$_usage"; exit 42;; | ||||||
|             esac |             esac | ||||||
|             ;; |             ;; | ||||||
| @ -167,7 +167,7 @@ main() { | |||||||
|             sudo_or_exit |             sudo_or_exit | ||||||
|             case $2 in |             case $2 in | ||||||
|                 ''|--|containers) remove_containers ;; |                 ''|--|containers) remove_containers ;; | ||||||
|                 images) lxc_delete_images_localy ;; |                 images) lxc_delete_images_locally ;; | ||||||
|                 ${LXC_HOST_PREFIX}-*) |                 ${LXC_HOST_PREFIX}-*) | ||||||
|                     ! lxc_exists "$2" && warn_msg "container not yet exists: $2" && exit 0 |                     ! lxc_exists "$2" && warn_msg "container not yet exists: $2" && exit 0 | ||||||
|                     if ask_yn "Do you really want to delete container $2"; then |                     if ask_yn "Do you really want to delete container $2"; then | ||||||
| @ -291,7 +291,7 @@ build_all_containers() { | |||||||
|     rst_title "Build all LXC containers of suite" |     rst_title "Build all LXC containers of suite" | ||||||
|     echo |     echo | ||||||
|     usage_containers |     usage_containers | ||||||
|     lxc_copy_images_localy |     lxc_copy_images_locally | ||||||
|     lxc_init_all_containers |     lxc_init_all_containers | ||||||
|     lxc_config_all_containers |     lxc_config_all_containers | ||||||
|     lxc_boilerplate_all_containers |     lxc_boilerplate_all_containers | ||||||
| @ -361,7 +361,7 @@ remove_containers() { | |||||||
| # images | # images | ||||||
| # ------ | # ------ | ||||||
| 
 | 
 | ||||||
| lxc_copy_images_localy() { | lxc_copy_images_locally() { | ||||||
|     rst_title "copy images" section |     rst_title "copy images" section | ||||||
|     for ((i=0; i<${#LXC_SUITE[@]}; i+=2)); do |     for ((i=0; i<${#LXC_SUITE[@]}; i+=2)); do | ||||||
|         lxc_image_copy "${LXC_SUITE[i]}" "${LXC_SUITE[i+1]}" |         lxc_image_copy "${LXC_SUITE[i]}" "${LXC_SUITE[i+1]}" | ||||||
| @ -369,7 +369,7 @@ lxc_copy_images_localy() { | |||||||
|     # lxc image list local: && wait_key |     # lxc image list local: && wait_key | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| lxc_delete_images_localy() { | lxc_delete_images_locally() { | ||||||
|     rst_title "Delete LXC images" |     rst_title "Delete LXC images" | ||||||
|     rst_para "local existing images" |     rst_para "local existing images" | ||||||
|     echo |     echo | ||||||
|  | |||||||
| @ -33,7 +33,7 @@ ui: | |||||||
| 
 | 
 | ||||||
| enabled_plugins: | enabled_plugins: | ||||||
|   - 'Hash plugin' |   - 'Hash plugin' | ||||||
|   - 'Self Informations' |   - 'Self Information' | ||||||
|   - 'Tracker URL remover' |   - 'Tracker URL remover' | ||||||
|   - 'Ahmia blacklist' |   - 'Ahmia blacklist' | ||||||
|   # - 'Hostnames plugin'  # see 'hostnames' configuration below |   # - 'Hostnames plugin'  # see 'hostnames' configuration below | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Bnyro
						Bnyro