add OpenSearch lookup
This commit is contained in:
parent
e26812bf5d
commit
691b1e98cc
4 changed files with 37 additions and 3 deletions
|
@ -1,5 +1,10 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
try:
|
||||
import xml.etree.ElementTree as ET
|
||||
except:
|
||||
import elementtree.ElementTree as ET
|
||||
|
||||
from django.shortcuts import render_to_response, redirect
|
||||
from django.template import RequestContext
|
||||
from django.conf import settings
|
||||
|
@ -34,6 +39,33 @@ def embed(request, id):
|
|||
})
|
||||
return render_to_response('embed.html', context)
|
||||
|
||||
def opensearch_xml(request):
|
||||
osd = ET.Element('OpenSearchDescription')
|
||||
osd.attrib['xmlns']="http://a9.com/-/spec/opensearch/1.1/"
|
||||
e = ET.SubElement(osd, 'ShortName')
|
||||
e.text = settings.SITENAME
|
||||
e = ET.SubElement(osd, 'Description')
|
||||
e.text = settings.SITENAME
|
||||
e = ET.SubElement(osd, 'Image')
|
||||
e.attrib['height'] = '16'
|
||||
e.attrib['width'] = '16'
|
||||
e.attrib['type'] = 'image/x-icon'
|
||||
e.text = request.build_absolute_uri('/favicon.ico')
|
||||
e = ET.SubElement(osd, 'Url')
|
||||
e.attrib['type'] = 'text/html'
|
||||
e.attrib['method'] = 'GET'
|
||||
e.attrib['template'] = "%s/{searchTerms}" % request.build_absolute_uri('/')
|
||||
'''
|
||||
e = ET.SubElement(osd, 'Url')
|
||||
e.attrib['type'] = 'application/x-suggestions+json'
|
||||
e.attrib['method'] = 'GET'
|
||||
e.attrib['template'] = "%s?q={searchTerms}" % request.build_absolute_uri('/opensearch_suggest')
|
||||
'''
|
||||
return HttpResponse(
|
||||
'<?xml version="1.0" encoding="UTF-8"?>\n' + ET.tostring(osd),
|
||||
'application/xml'
|
||||
)
|
||||
|
||||
|
||||
def getPage(request):
|
||||
'''
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
<link rel="icon" href="/static/png/icon64.png" sizes="48x48"/>
|
||||
<meta name="application-name" content="{{settings.SITENAME}}"/>
|
||||
<meta name="application-url" content="{{base_url}}"/>
|
||||
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="{{settings.SITENAME}}" />
|
||||
<script>
|
||||
if (localStorage && !localStorage.OxTheme)
|
||||
localStorage.OxTheme = '{{settings.CONFIG.user.ui.theme}}';
|
||||
|
|
|
@ -27,10 +27,11 @@ urlpatterns = patterns('',
|
|||
(r'^api$', include('api.urls')),
|
||||
(r'^api/$', include('api.urls')),
|
||||
(r'^resetUI$', 'user.views.reset_ui'),
|
||||
(r'', include('item.urls')),
|
||||
(r'^list/(?P<id>.*?)/icon(?P<size>\d*).jpg$', 'itemlist.views.icon'),
|
||||
(r'^robots.txt$', serve_static_file, {'location': os.path.join(settings.STATIC_ROOT, 'robots.txt'), 'content_type': 'text/plain'}),
|
||||
(r'^favicon.ico$', serve_static_file, {'location': os.path.join(settings.STATIC_ROOT, 'png/icon.16.png'), 'content_type': 'image/x-icon'}),
|
||||
(r'^opensearch.xml$', 'app.views.opensearch_xml'),
|
||||
(r'', include('item.urls')),
|
||||
)
|
||||
#if settings.DEBUG:
|
||||
#sould this not be enabled by default? nginx should handle those
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
-e bzr+http://code.0x2620.org/oxtimeline/#egg=oxtimeline
|
||||
simplejson
|
||||
chardet
|
||||
celery>2.1.1
|
||||
django-celery>2.1.1
|
||||
celery>2.4.2
|
||||
django-celery>2.4.2
|
||||
#django_extensions
|
||||
#-e git+https://github.com/django-extensions/django-extensions.git#egg=django_extensions
|
||||
#use fork fixing some postgresql issues
|
||||
|
|
Loading…
Reference in a new issue