Compare commits
2 commits
83df2c0011
...
e7292a5989
Author | SHA1 | Date | |
---|---|---|---|
e7292a5989 | |||
b0ece6a566 |
4 changed files with 22 additions and 5 deletions
|
@ -312,6 +312,14 @@
|
||||||
"autocomplete": true,
|
"autocomplete": true,
|
||||||
"columnWidth": 128
|
"columnWidth": 128
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "fulltext",
|
||||||
|
"operator": "+",
|
||||||
|
"title": "Fulltext",
|
||||||
|
"type": "text",
|
||||||
|
"fulltext": true,
|
||||||
|
"find": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "created",
|
"id": "created",
|
||||||
"operator": "-",
|
"operator": "-",
|
||||||
|
|
|
@ -310,6 +310,14 @@
|
||||||
"autocomplete": true,
|
"autocomplete": true,
|
||||||
"columnWidth": 128
|
"columnWidth": 128
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "fulltext",
|
||||||
|
"operator": "+",
|
||||||
|
"title": "Fulltext",
|
||||||
|
"type": "text",
|
||||||
|
"fulltext": true,
|
||||||
|
"find": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "created",
|
"id": "created",
|
||||||
"operator": "-",
|
"operator": "-",
|
||||||
|
|
|
@ -42,7 +42,6 @@ def ocr_image(path):
|
||||||
|
|
||||||
class FulltextMixin:
|
class FulltextMixin:
|
||||||
_ES_INDEX = "document-index"
|
_ES_INDEX = "document-index"
|
||||||
_ES_DOC_TYPE = "document"
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def elasticsearch(cls):
|
def elasticsearch(cls):
|
||||||
|
@ -67,7 +66,7 @@ class FulltextMixin:
|
||||||
if self.has_fulltext_key():
|
if self.has_fulltext_key():
|
||||||
from elasticsearch.exceptions import NotFoundError
|
from elasticsearch.exceptions import NotFoundError
|
||||||
try:
|
try:
|
||||||
res = self.elasticsearch().delete(index=self._ES_INDEX, doc_type=self._ES_DOC_TYPE, id=self.id)
|
res = self.elasticsearch().delete(index=self._ES_INDEX, id=self.id)
|
||||||
except NotFoundError:
|
except NotFoundError:
|
||||||
pass
|
pass
|
||||||
except:
|
except:
|
||||||
|
@ -80,7 +79,7 @@ class FulltextMixin:
|
||||||
doc = {
|
doc = {
|
||||||
'text': text.lower()
|
'text': text.lower()
|
||||||
}
|
}
|
||||||
res = self.elasticsearch().index(index=self._ES_INDEX, doc_type=self._ES_DOC_TYPE, id=self.id, body=doc)
|
res = self.elasticsearch().index(index=self._ES_INDEX, id=self.id, body=doc)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def find_fulltext(cls, query):
|
def find_fulltext(cls, query):
|
||||||
|
@ -176,7 +175,6 @@ class FulltextMixin:
|
||||||
|
|
||||||
class FulltextPageMixin(FulltextMixin):
|
class FulltextPageMixin(FulltextMixin):
|
||||||
_ES_INDEX = "document-page-index"
|
_ES_INDEX = "document-page-index"
|
||||||
_DOC_TYPE = 'page'
|
|
||||||
|
|
||||||
def extract_fulltext(self):
|
def extract_fulltext(self):
|
||||||
if self.document.file:
|
if self.document.file:
|
||||||
|
|
|
@ -1289,12 +1289,15 @@ def atom_xml(request):
|
||||||
'application/atom+xml'
|
'application/atom+xml'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def oembed(request):
|
def oembed(request):
|
||||||
format = request.GET.get('format', 'json')
|
format = request.GET.get('format', 'json')
|
||||||
maxwidth = int(request.GET.get('maxwidth', 640))
|
maxwidth = int(request.GET.get('maxwidth', 640))
|
||||||
maxheight = int(request.GET.get('maxheight', 480))
|
maxheight = int(request.GET.get('maxheight', 480))
|
||||||
|
|
||||||
url = request.GET['url']
|
url = request.GET.get('url')
|
||||||
|
if not url:
|
||||||
|
raise Http404
|
||||||
parts = urlparse(url).path.split('/')
|
parts = urlparse(url).path.split('/')
|
||||||
if len(parts) < 2:
|
if len(parts) < 2:
|
||||||
raise Http404
|
raise Http404
|
||||||
|
|
Loading…
Reference in a new issue