Merge branch 'Cqoicebordel-Detect-favicons'
This commit is contained in:
		
						commit
						b4f39237a3
					
				| @ -1,7 +1,7 @@ | |||||||
| <div class="result {{ result.class }}"> | <div class="result {{ result.class }}"> | ||||||
| 
 | 
 | ||||||
|   {% if result['favicon'] %} |   {% if "icon_"~result.engine~".ico" in favicons %} | ||||||
|     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" alt="{{result['favicon']}}" /> |     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result.engine}}.ico" alt="{{result.engine}}" /> | ||||||
|   {% endif %} |   {% endif %} | ||||||
| 
 | 
 | ||||||
|   <div> |   <div> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <div class="result {{ result.class }}"> | <div class="result {{ result.class }}"> | ||||||
| 
 | 
 | ||||||
|   {% if result['favicon'] %} |   {% if "icon_"~result.engine~".ico" in favicons %} | ||||||
|     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" alt="{{result['favicon']}}" /> |     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result.engine}}.ico" alt="{{result.engine}}" /> | ||||||
|   {% endif %} |   {% endif %} | ||||||
| 
 | 
 | ||||||
|   <div> |   <div> | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| <div class="result"> | <div class="result"> | ||||||
|   {% if result['favicon'] %} |   {% if "icon_"~result.engine~".ico" in favicons %} | ||||||
|     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" alt="{{result['favicon']}}" /> |     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result.engine}}.ico" alt="{{result.engine}}" /> | ||||||
|   {% endif %} |   {% endif %} | ||||||
| 
 | 
 | ||||||
|       <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3> |       <h3 class="result_title"><a href="{{ result.url }}">{{ result.title|safe }}</a></h3> | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| <div class="result {{ result.class }}"> | <div class="result {{ result.class }}"> | ||||||
|     <h3 class="result_title"> {% if result['favicon'] %}<img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" alt="{{result['favicon']}}" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3> |     <h3 class="result_title">{% if "icon_"~result.engine~".ico" in favicons %}<img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result.engine}}.ico" alt="{{result.engine}}" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3> | ||||||
|     <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a></p> |     <p class="url">{{ result.pretty_url }} <a class="cache_link" href="https://web.archive.org/web/{{ result.url }}">cached</a></p> | ||||||
|     {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %} |     {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %} | ||||||
|     <p class="content">{% if result.img_src %}<img src="{{ result.img_src }}" class="image" />{% endif %}{% if result.content %}{{ result.content|safe }}<br class="last"/>{% endif %}</p> |     <p class="content">{% if result.img_src %}<img src="{{ result.img_src }}" class="image" />{% endif %}{% if result.content %}{{ result.content|safe }}<br class="last"/>{% endif %}</p> | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| <div class="result {{ result.class }}"> | <div class="result {{ result.class }}"> | ||||||
| 
 | 
 | ||||||
|   {% if result['favicon'] %} |   {% if "icon_"~result.engine~".ico" in favicons %} | ||||||
|     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" alt="{{result['favicon']}}" /> |     <img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result.engine}}.ico" alt="{{result.engine}}" /> | ||||||
|   {% endif %} |   {% endif %} | ||||||
| 
 | 
 | ||||||
|   <div> |   <div> | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| <div class="result"> | <div class="result"> | ||||||
|       <h3 class="result_title"> {% if result['favicon'] %}<img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result['favicon']}}.ico" alt="{{result['favicon']}}" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3> |       <h3 class="result_title">{% if "icon_"~result.engine~".ico" in favicons %}<img width="14" height="14" class="favicon" src="static/{{theme}}/img/icon_{{result.engine}}.ico" alt="{{result.engine}}" />{% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h3> | ||||||
|       {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %} |       {% if result.publishedDate %}<p class="published_date">{{ result.publishedDate }}</p>{% endif %} | ||||||
|       <a href="{{ result.url }}"><img class="thumbnail" src="{{ result.thumbnail }}" title="{{ result.title|striptags }}" alt="{{ result.title|striptags }}"/></a> |       <a href="{{ result.url }}"><img class="thumbnail" src="{{ result.thumbnail }}" title="{{ result.title|striptags }}" alt="{{ result.title|striptags }}"/></a> | ||||||
|       <p class="url">{{ result.url }}</p> |       <p class="url">{{ result.url }}</p> | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| {% from 'oscar/macros.html' import icon %} | {% from 'oscar/macros.html' import icon %} | ||||||
| 
 | 
 | ||||||
| <h4 class="result_header">{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" alt="{{ result['favicon'] }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | <h4 class="result_header">{% if result.engine~".png" in favicons %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result.engine }}.png" alt="{{ result.engine }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | ||||||
| 
 | 
 | ||||||
| {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | ||||||
| <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}">{{ icon('link') }} {{ _('cached') }}</a></small> | <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}">{{ icon('link') }} {{ _('cached') }}</a></small> | ||||||
|  | |||||||
| @ -7,7 +7,7 @@ | |||||||
|         <div class="modal-content"> |         <div class="modal-content"> | ||||||
|             <div class="modal-header"> |             <div class="modal-header"> | ||||||
|                 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> |                 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> | ||||||
|                 <h4 class="modal-title">{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" alt="{{ result['favicon'] }}" /> {% endif %}{{ result.title|striptags }}</h4> |                 <h4 class="modal-title">{% if result.engine~".png" in favicons %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result.engine }}.png" alt="{{ result.engine }}" /> {% endif %}{{ result.title|striptags }}</h4> | ||||||
|             </div> |             </div> | ||||||
|             <div class="modal-body"> |             <div class="modal-body"> | ||||||
|                 <img class="img-responsive center-block" src="{{ result.img_src }}" alt="{{ result.title }}"> |                 <img class="img-responsive center-block" src="{{ result.img_src }}" alt="{{ result.title }}"> | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| {% from 'oscar/macros.html' import icon %} | {% from 'oscar/macros.html' import icon %} | ||||||
| 
 | 
 | ||||||
| <h4 class="result_header">{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" alt="{{ result['favicon'] }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | <h4 class="result_header">{% if result.engine~".png" in favicons %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result.engine }}.png" alt="{{ result.engine }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | ||||||
| 
 | 
 | ||||||
| {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| {% from 'oscar/macros.html' import icon %} | {% from 'oscar/macros.html' import icon %} | ||||||
| 
 | 
 | ||||||
| <h4 class="result_header">{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" alt="{{ result['favicon'] }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | <h4 class="result_header">{% if result.engine~".png" in favicons %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result.engine }}.png" alt="{{ result.engine }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | ||||||
| 
 | 
 | ||||||
| {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | ||||||
| <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}">{{ icon('link') }} {{ _('cached') }}</a></small> | <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}">{{ icon('link') }} {{ _('cached') }}</a></small> | ||||||
|  | |||||||
| @ -1,13 +1,13 @@ | |||||||
| {% from 'oscar/macros.html' import icon %} | {% from 'oscar/macros.html' import icon %} | ||||||
| 
 | 
 | ||||||
| <h4 class="result_header">{% if result['favicon'] %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result['favicon'] }}.png" alt="{{ result['favicon'] }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | <h4 class="result_header">{% if result.engine~".png" in favicons %}<img width="32" height="32" class="favicon" src="static/{{ theme }}/img/icons/{{ result.engine }}.png" alt="{{ result.engine }}" /> {% endif %}<a href="{{ result.url }}">{{ result.title|safe }}</a></h4> | ||||||
|      |      | ||||||
| {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | {% if result.publishedDate %}<time class="text-muted" datetime="{{ result.pubdate }}" >{{ result.publishedDate }}</time>{% endif %} | ||||||
| <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}">{{ icon('link') }} {{ _('cached') }}</a></small> | <small><a class="text-info" href="https://web.archive.org/web/{{ result.url }}">{{ icon('link') }} {{ _('cached') }}</a></small> | ||||||
| 
 | 
 | ||||||
| <div class="container-fluid"> | <div class="container-fluid"> | ||||||
|     <div class="row"> |     <div class="row"> | ||||||
|         <img class="thumbnail col-xs-6 col-sm-4 col-md-4 result-content" src="{{ result.thumbnail|safe }}" alt="{{ result.title|urlencode }} {{ result['favicon'] }}" /> |         <a href="{{ result.url }}"><img class="thumbnail col-xs-6 col-sm-4 col-md-4 result-content" src="{{ result.thumbnail|safe }}" alt="{{ result.title|striptags }} {{ result.engine }}" /></a> | ||||||
|         {% if result.content %}<p class="col-xs-12 col-sm-8 col-md-8 result-content">{{ result.content|safe }}</p>{% endif %} |         {% if result.content %}<p class="col-xs-12 col-sm-8 col-md-8 result-content">{{ result.content|safe }}</p>{% endif %} | ||||||
|     </div> |     </div> | ||||||
| </div> | </div> | ||||||
|  | |||||||
| @ -65,9 +65,12 @@ app.secret_key = settings['server']['secret_key'] | |||||||
| 
 | 
 | ||||||
| babel = Babel(app) | babel = Babel(app) | ||||||
| 
 | 
 | ||||||
| #TODO configurable via settings.yml | global_favicons = [] | ||||||
| favicons = ['wikipedia', 'youtube', 'vimeo', 'dailymotion', 'soundcloud', | for indice, theme in enumerate(themes): | ||||||
|             'twitter', 'stackoverflow', 'github', 'deviantart', 'kickass'] |     global_favicons.append([]) | ||||||
|  |     theme_img_path = searx_dir+"/static/"+theme+"/img/" | ||||||
|  |     for (dirpath, dirnames, filenames) in os.walk(theme_img_path): | ||||||
|  |         global_favicons[indice].extend(filenames) | ||||||
| 
 | 
 | ||||||
| cookie_max_age = 60 * 60 * 24 * 365 * 23  # 23 years | cookie_max_age = 60 * 60 * 24 * 365 * 23  # 23 years | ||||||
| 
 | 
 | ||||||
| @ -233,10 +236,6 @@ def index(): | |||||||
|         else: |         else: | ||||||
|             result['pretty_url'] = result['url'] |             result['pretty_url'] = result['url'] | ||||||
| 
 | 
 | ||||||
|         for engine in result['engines']: |  | ||||||
|             if engine in favicons: |  | ||||||
|                 result['favicon'] = engine |  | ||||||
| 
 |  | ||||||
|         # TODO, check if timezone is calculated right |         # TODO, check if timezone is calculated right | ||||||
|         if 'publishedDate' in result: |         if 'publishedDate' in result: | ||||||
|             result['pubdate'] = result['publishedDate'].strftime('%Y-%m-%d %H:%M:%S%z') |             result['pubdate'] = result['publishedDate'].strftime('%Y-%m-%d %H:%M:%S%z') | ||||||
| @ -289,7 +288,8 @@ def index(): | |||||||
|         suggestions=search.suggestions, |         suggestions=search.suggestions, | ||||||
|         answers=search.answers, |         answers=search.answers, | ||||||
|         infoboxes=search.infoboxes, |         infoboxes=search.infoboxes, | ||||||
|         theme=get_current_theme_name() |         theme=get_current_theme_name(), | ||||||
|  |         favicons=global_favicons[themes.index(get_current_theme_name())] | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user