fix document import

This commit is contained in:
j 2018-11-05 20:27:03 +00:00
parent 272810b9c2
commit ce234bdea5
4 changed files with 19 additions and 10 deletions

View file

@ -2,7 +2,7 @@
pandora.ui.importDocumentsDialog = function() {
var dialogHeight = 100,
var dialogHeight = 128 + 16,
dialogWidth = 512 + 16,
formWidth = getFormWidth(),
@ -10,8 +10,9 @@ pandora.ui.importDocumentsDialog = function() {
$content = Ox.Element(),
value,
$input = [
Ox.TextArea({
labelWidth: 96,
Ox.Input({
type: 'textarea',
height: 128,
width: 512
}).css({
margin: '8px'
@ -35,7 +36,7 @@ pandora.ui.importDocumentsDialog = function() {
}
}),
$button = Ox.Button({
disabled: true,
disabled: false,
id: 'import',
title: Ox._('Import URLs')
})
@ -73,10 +74,16 @@ pandora.ui.importDocumentsDialog = function() {
pandora.api.importDocuments({
urls: urls
}, function(result) {
Ox.Request.clearCache()
if (result.data.taskId) {
pandora.wait(result.data.taskId, function(result) {
that.close();
if (pandora.user.ui.section == 'documents' && !pandora.user.ui.document.length) {
pandora.$ui.list.reloadList()
} else {
pandora.URL.push('/documents/grid/created')
}
})
} else {
that.options({content: 'Failed'});
}

View file

@ -27,7 +27,7 @@ pandora.localInit = function() {
$item = Ox.MenuButton({
items: [
].concat(pandora.user.level == 'admin' ? [
] : [], [
] : [], pandora.user.level == 'gurest' ? [] : [
{id: 'import_documents', title: 'Import Documents...'},
]),
style: 'rounded',
@ -37,7 +37,7 @@ pandora.localInit = function() {
}).css(css).bindEvent({
click: function(data) {
if (data.id == 'import_documents') {
pandora.ui.importDocumentsDialog().open()
pandora.ui.importDocumentsDialog().open();
}
},
}),

View file

@ -8,5 +8,6 @@ base = os.path.dirname(__file__)
@task(queue="encoding")
def import_documents(urls):
for url in urls:
if url.startswith('http'):
url = url.strip()
if url and url.startswith('http'):
subprocess.call(['/srv/pandora/bin/python', os.path.join(base, 'add_website_as_pdf.py'), url])

View file

@ -2,14 +2,15 @@
from __future__ import division, print_function, absolute_import
from oxdjango.decorators import login_required_json
from oxdjango.shortcuts import render_to_json_response
from oxdjango.shortcuts import render_to_json_response, json_response
from oxdjango.api import actions
from .tasks import import_documents
@login_required_json
def importDocuments(request, data):
t = tasks.import_documents.delay(urls=data['urls'])
response = json_response({})
t = import_documents.delay(urls=data['urls'])
response['data']['taskId'] = t.task_id
return render_to_json_response(response)
actions.register(importDocuments)