Merge branch 'master' into 219-missing-form
Conflicts: ckanext/harvest/templates_new/source/edit.html ckanext/harvest/templates_new/source/new.html test-core.ini
This commit is contained in:
commit
b58cd8b38f
|
@ -1,4 +1,3 @@
|
||||||
recursive-include ckanext/harvest/templates *
|
recursive-include ckanext/harvest/templates *
|
||||||
recursive-include ckanext/harvest/templates_new *
|
|
||||||
recursive-include ckanext/harvest/fanstatic_library/styles *
|
recursive-include ckanext/harvest/fanstatic_library/styles *
|
||||||
recursive-include ckanext/harvest/public *
|
recursive-include ckanext/harvest/public *
|
||||||
|
|
|
@ -8,6 +8,9 @@ ckanext-harvest - Remote harvesting extension
|
||||||
This extension provides a common harvesting framework for ckan extensions
|
This extension provides a common harvesting framework for ckan extensions
|
||||||
and adds a CLI and a WUI to CKAN to manage harvesting sources and jobs.
|
and adds a CLI and a WUI to CKAN to manage harvesting sources and jobs.
|
||||||
|
|
||||||
|
Requires CKAN 2.0 or later.
|
||||||
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
|
@ -192,8 +195,7 @@ Authorization
|
||||||
Starting from CKAN 2.0, harvest sources behave exactly the same as datasets
|
Starting from CKAN 2.0, harvest sources behave exactly the same as datasets
|
||||||
(they are actually internally implemented as a dataset type). That means they
|
(they are actually internally implemented as a dataset type). That means they
|
||||||
can be searched and faceted, and that the same authorization rules can be
|
can be searched and faceted, and that the same authorization rules can be
|
||||||
applied to them. The default authorization settings are based on organizations
|
applied to them. The default authorization settings are based on organizations.
|
||||||
(equivalent to the `publisher profile` found in old versions).
|
|
||||||
|
|
||||||
Have a look at the `Authorization <http://docs.ckan.org/en/latest/authorization.html>`_
|
Have a look at the `Authorization <http://docs.ckan.org/en/latest/authorization.html>`_
|
||||||
documentation on CKAN core to see how to configure your instance depending on
|
documentation on CKAN core to see how to configure your instance depending on
|
||||||
|
@ -231,7 +233,7 @@ field. The currently supported configuration options are:
|
||||||
* {dataset_id}
|
* {dataset_id}
|
||||||
* {harvest_source_id}
|
* {harvest_source_id}
|
||||||
* {harvest_source_url} # Will be stripped of trailing forward slashes (/)
|
* {harvest_source_url} # Will be stripped of trailing forward slashes (/)
|
||||||
* {harvest_source_title} # Requires CKAN 1.6
|
* {harvest_source_title}
|
||||||
* {harvest_job_id}
|
* {harvest_job_id}
|
||||||
* {harvest_object_id}
|
* {harvest_object_id}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import logging
|
import logging
|
||||||
import genshi
|
|
||||||
from urllib import urlencode
|
from urllib import urlencode
|
||||||
|
|
||||||
from ckan import plugins as p
|
from ckan import plugins as p
|
||||||
|
@ -60,21 +59,8 @@ class OrganizationController(GroupController):
|
||||||
else:
|
else:
|
||||||
q += ' groups: "%s"' % c.group_dict.get('name')
|
q += ' groups: "%s"' % c.group_dict.get('name')
|
||||||
|
|
||||||
try:
|
|
||||||
description_formatted = ckan.misc.MarkdownFormat().to_html(
|
|
||||||
c.group_dict.get('description', ''))
|
|
||||||
c.description_formatted = genshi.HTML(description_formatted)
|
|
||||||
except Exception, e:
|
|
||||||
error_msg = "<span class='inline-warning'>%s</span>" %\
|
|
||||||
p.toolkit._("Cannot render description")
|
|
||||||
c.description_formatted = genshi.HTML(error_msg)
|
|
||||||
|
|
||||||
context['return_query'] = True
|
context['return_query'] = True
|
||||||
|
|
||||||
# c.group_admins is used by CKAN's legacy (Genshi) templates only,
|
|
||||||
# if we drop support for those then we can delete this line.
|
|
||||||
c.group_admins = ckan.new_authz.get_group_or_org_admin_ids(c.group.id)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
page = int(request.params.get('page', 1))
|
page = int(request.params.get('page', 1))
|
||||||
except ValueError, e:
|
except ValueError, e:
|
||||||
|
|
|
@ -9,98 +9,94 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: ckanext-harvest 0.2\n"
|
"Project-Id-Version: ckanext-harvest 0.2\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2015-06-10 12:12+0100\n"
|
"POT-Creation-Date: 2015-12-11 15:21+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Generated-By: Babel 0.9.6\n"
|
"Generated-By: Babel 2.1.1\n"
|
||||||
|
|
||||||
#: ckanext/harvest/helpers.py:70
|
#: ckanext/harvest/helpers.py:70
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:41
|
#: ckanext/harvest/controllers/organization.py:40
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:43
|
#: ckanext/harvest/controllers/organization.py:42
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unauthorized to read group %s"
|
msgid "Unauthorized to read group %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:69
|
#: ckanext/harvest/controllers/organization.py:137
|
||||||
msgid "Cannot render description"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:151
|
|
||||||
msgid "Groups"
|
msgid "Groups"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:152
|
#: ckanext/harvest/controllers/organization.py:138
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:153
|
#: ckanext/harvest/controllers/organization.py:139
|
||||||
msgid "Formats"
|
msgid "Formats"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:154
|
#: ckanext/harvest/controllers/organization.py:140
|
||||||
msgid "Licence"
|
msgid "Licence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:27
|
#: ckanext/harvest/controllers/view.py:28
|
||||||
msgid "Not authorized to see this page"
|
msgid "Not authorized to see this page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:44
|
#: ckanext/harvest/controllers/view.py:45
|
||||||
msgid "Harvesting source successfully cleared"
|
msgid "Harvesting source successfully cleared"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:46
|
#: ckanext/harvest/controllers/view.py:47
|
||||||
msgid "Harvesting source successfully inactivated"
|
msgid "Harvesting source successfully inactivated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:50 ckanext/harvest/controllers/view.py:61
|
#: ckanext/harvest/controllers/view.py:51 ckanext/harvest/controllers/view.py:63
|
||||||
#: ckanext/harvest/controllers/view.py:82 ckanext/harvest/controllers/view.py:143
|
#: ckanext/harvest/controllers/view.py:85 ckanext/harvest/controllers/view.py:146
|
||||||
#: ckanext/harvest/controllers/view.py:181 ckanext/harvest/controllers/view.py:192
|
#: ckanext/harvest/controllers/view.py:184 ckanext/harvest/controllers/view.py:195
|
||||||
#: ckanext/harvest/controllers/view.py:218 ckanext/harvest/logic/auth/create.py:34
|
#: ckanext/harvest/controllers/view.py:221 ckanext/harvest/logic/auth/create.py:34
|
||||||
#: ckanext/harvest/logic/auth/delete.py:18 ckanext/harvest/logic/auth/get.py:33
|
#: ckanext/harvest/logic/auth/delete.py:18 ckanext/harvest/logic/auth/get.py:33
|
||||||
#: ckanext/harvest/logic/auth/update.py:19
|
#: ckanext/harvest/logic/auth/update.py:19
|
||||||
msgid "Harvest source not found"
|
msgid "Harvest source not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:59
|
#: ckanext/harvest/controllers/view.py:61
|
||||||
msgid "Refresh requested, harvesting will take place within 15 minutes."
|
msgid "Harvest will start shortly. Refresh this page for updates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:66
|
#: ckanext/harvest/controllers/view.py:67
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot create new harvest jobs on inactive sources. First, please change the "
|
"Cannot create new harvest jobs on inactive sources. First, please change the "
|
||||||
"source status to 'active'."
|
"source status to 'active'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:69
|
#: ckanext/harvest/controllers/view.py:71
|
||||||
msgid "A harvest job has already been scheduled for this source"
|
msgid "A harvest job has already been scheduled for this source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:80
|
#: ckanext/harvest/controllers/view.py:83
|
||||||
msgid "Harvest source cleared"
|
msgid "Harvest source cleared"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:108
|
#: ckanext/harvest/controllers/view.py:111
|
||||||
msgid "No content found"
|
msgid "No content found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:168
|
#: ckanext/harvest/controllers/view.py:171
|
||||||
msgid "Harvest job not found"
|
msgid "Harvest job not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:201
|
#: ckanext/harvest/controllers/view.py:204
|
||||||
#: ckanext/harvest/templates_new/source/admin.html:15
|
#: ckanext/harvest/templates/source/admin.html:15
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:13
|
#: ckanext/harvest/templates/source/job/list.html:13
|
||||||
msgid "No jobs yet for this source"
|
msgid "No jobs yet for this source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -148,120 +144,120 @@ msgstr ""
|
||||||
msgid "Only sysadmins can run the pending harvest jobs"
|
msgid "Only sysadmins can run the pending harvest jobs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/logic/auth/update.py:68
|
#: ckanext/harvest/logic/auth/update.py:89
|
||||||
msgid "Only sysadmins can reindex all harvest sources"
|
msgid "Only sysadmins can reindex all harvest sources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/add_source_button.html:6
|
#: ckanext/harvest/templates/snippets/add_source_button.html:6
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:11
|
#: ckanext/harvest/templates/source/org_source_list.html:11
|
||||||
msgid "Add Harvest Source"
|
msgid "Add Harvest Source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:26
|
#: ckanext/harvest/templates/snippets/job_details.html:26
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:38
|
#: ckanext/harvest/templates/source/job/list.html:44
|
||||||
msgid "errors"
|
msgid "errors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:41
|
#: ckanext/harvest/templates/snippets/job_details.html:41
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:48
|
#: ckanext/harvest/templates/snippets/job_details.html:48
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:52
|
#: ckanext/harvest/templates/snippets/job_details.html:52
|
||||||
msgid "Created"
|
msgid "Created"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:56
|
#: ckanext/harvest/templates/snippets/job_details.html:60
|
||||||
msgid "Started"
|
msgid "Started"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:60
|
#: ckanext/harvest/templates/snippets/job_details.html:68
|
||||||
msgid "Finished"
|
msgid "Finished"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:64
|
#: ckanext/harvest/templates/snippets/job_details.html:76
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_error_summary.html:18
|
#: ckanext/harvest/templates/snippets/job_error_summary.html:18
|
||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_error_summary.html:19
|
#: ckanext/harvest/templates/snippets/job_error_summary.html:19
|
||||||
msgid "Message"
|
msgid "Message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/package_list_empty.html:1
|
#: ckanext/harvest/templates/snippets/package_list_empty.html:1
|
||||||
msgid "There are no datasets associated to this harvest source."
|
msgid "There are no datasets associated to this harvest source."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:4
|
#: ckanext/harvest/templates/snippets/search_result_text.html:4
|
||||||
msgid "{number} harvest source found for \"{query}\""
|
msgid "{number} harvest source found for \"{query}\""
|
||||||
msgid_plural "{number} harvest sources found for \"{query}\""
|
msgid_plural "{number} harvest sources found for \"{query}\""
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:5
|
#: ckanext/harvest/templates/snippets/search_result_text.html:5
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:17
|
#: ckanext/harvest/templates/source/org_source_list.html:17
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:27
|
#: ckanext/harvest/templates/source/search_2.0.html:27
|
||||||
msgid "Sorry no harvest sources found for \"{query}\""
|
msgid "Sorry no harvest sources found for \"{query}\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:6
|
#: ckanext/harvest/templates/snippets/search_result_text.html:6
|
||||||
msgid "{number} harvest source found"
|
msgid "{number} harvest source found"
|
||||||
msgid_plural "{number} harvest sources found"
|
msgid_plural "{number} harvest sources found"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:7
|
#: ckanext/harvest/templates/snippets/search_result_text.html:7
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:25
|
#: ckanext/harvest/templates/source/org_source_list.html:25
|
||||||
msgid "Sorry no harvest sources found"
|
msgid "Sorry no harvest sources found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:28
|
#: ckanext/harvest/templates/snippets/source_item.html:28
|
||||||
msgid "Draft"
|
msgid "Draft"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:30
|
#: ckanext/harvest/templates/snippets/source_item.html:30
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:83
|
#: ckanext/harvest/templates/source/new_source_form.html:83
|
||||||
msgid "Deleted"
|
msgid "Deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:37
|
#: ckanext/harvest/templates/snippets/source_item.html:37
|
||||||
#: ckanext/harvest/templates_new/source/about.html:9
|
#: ckanext/harvest/templates/source/about.html:9
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:25
|
#: ckanext/harvest/templates/source/read_base.html:25
|
||||||
msgid "There is no description for this harvest source"
|
msgid "There is no description for this harvest source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:42
|
#: ckanext/harvest/templates/snippets/source_item.html:42
|
||||||
#: ckanext/harvest/templates_new/source/read.html:5
|
#: ckanext/harvest/templates/source/read.html:5
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:30
|
#: ckanext/harvest/templates/source/read_base.html:30
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:53
|
#: ckanext/harvest/templates/source/read_base.html:53
|
||||||
msgid "Datasets"
|
msgid "Datasets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:45
|
#: ckanext/harvest/templates/snippets/source_item.html:45
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:63
|
#: ckanext/harvest/templates/source/new_source_form.html:63
|
||||||
msgid "Organization"
|
msgid "Organization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin.html:5
|
#: ckanext/harvest/templates/source/admin.html:5
|
||||||
msgid "Last Harvest Job"
|
msgid "Last Harvest Job"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin.html:11
|
#: ckanext/harvest/templates/source/admin.html:11
|
||||||
msgid "View full job report"
|
msgid "View full job report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:7
|
#: ckanext/harvest/templates/source/admin_base.html:7
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:4
|
#: ckanext/harvest/templates/source/read_base.html:4
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:15
|
#: ckanext/harvest/templates/source/admin_base.html:15
|
||||||
msgid ""
|
msgid ""
|
||||||
"This will re-run the harvesting for this source. Any updates at the source "
|
"This will re-run the harvesting for this source. Any updates at the source "
|
||||||
"will overwrite the local datasets. Sources with a large number of datasets "
|
"will overwrite the local datasets. Sources with a large number of datasets "
|
||||||
|
@ -269,76 +265,76 @@ msgid ""
|
||||||
"you would like us to start reharvesting."
|
"you would like us to start reharvesting."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:18
|
#: ckanext/harvest/templates/source/admin_base.html:18
|
||||||
msgid "Start a new harvesting job for this harvest source now"
|
msgid "Start a new harvesting job for this harvest source now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:20
|
#: ckanext/harvest/templates/source/admin_base.html:20
|
||||||
msgid "Reharvest"
|
msgid "Reharvest"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:24
|
#: ckanext/harvest/templates/source/admin_base.html:24
|
||||||
msgid ""
|
msgid ""
|
||||||
"Warning: This will remove all datasets for this source, as well as all "
|
"Warning: This will remove all datasets for this source, as well as all "
|
||||||
"previous job reports. Are you sure you want to continue?"
|
"previous job reports. Are you sure you want to continue?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:27
|
#: ckanext/harvest/templates/source/admin_base.html:27
|
||||||
msgid "Delete all harvest jobs and existing datasets from this source"
|
msgid "Delete all harvest jobs and existing datasets from this source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:28
|
#: ckanext/harvest/templates/source/admin_base.html:28
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:32
|
#: ckanext/harvest/templates/source/admin_base.html:32
|
||||||
msgid "View harvest source"
|
msgid "View harvest source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:48
|
#: ckanext/harvest/templates/source/admin_base.html:48
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:49
|
#: ckanext/harvest/templates/source/admin_base.html:49
|
||||||
msgid "Jobs"
|
msgid "Jobs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:50
|
#: ckanext/harvest/templates/source/admin_base.html:50
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/base.html:17
|
#: ckanext/harvest/templates/source/base.html:17
|
||||||
msgid "Organizations"
|
msgid "Organizations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/base.html:19
|
#: ckanext/harvest/templates/source/base.html:19
|
||||||
#: ckanext/harvest/templates_new/source/base.html:22
|
#: ckanext/harvest/templates/source/base.html:22
|
||||||
#: ckanext/harvest/templates_new/source/new.html:4
|
#: ckanext/harvest/templates/source/new.html:4
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:3
|
#: ckanext/harvest/templates/source/org_source_list.html:3
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:7
|
#: ckanext/harvest/templates/source/org_source_list.html:7
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:19
|
#: ckanext/harvest/templates/source/org_source_list.html:19
|
||||||
#: ckanext/harvest/templates_new/source/search.html:7
|
#: ckanext/harvest/templates/source/search.html:7
|
||||||
msgid "Harvest Sources"
|
msgid "Harvest Sources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/edit.html:3
|
#: ckanext/harvest/templates/source/edit.html:3
|
||||||
msgid "Edit harvest source"
|
msgid "Edit harvest source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:5
|
#: ckanext/harvest/templates/source/new.html:5
|
||||||
msgid "Create Harvest Source"
|
msgid "Create Harvest Source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:11
|
#: ckanext/harvest/templates/source/new.html:11
|
||||||
msgid "Create harvest source"
|
msgid "Create harvest source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:23
|
#: ckanext/harvest/templates/source/new.html:23
|
||||||
#: ckanext/harvest/templates_new/source/search.html:3
|
#: ckanext/harvest/templates/source/search.html:3
|
||||||
msgid "Harvest sources"
|
msgid "Harvest sources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:26
|
#: ckanext/harvest/templates/source/new.html:26
|
||||||
msgid ""
|
msgid ""
|
||||||
" Harvest sources allow importing remote metadata into this catalog. Remote "
|
" Harvest sources allow importing remote metadata into this catalog. Remote "
|
||||||
"sources can be other catalogs such as other CKAN instances, CSW servers or "
|
"sources can be other catalogs such as other CKAN instances, CSW servers or "
|
||||||
|
@ -346,222 +342,222 @@ msgid ""
|
||||||
"this instance). "
|
"this instance). "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:8
|
#: ckanext/harvest/templates/source/new_source_form.html:8
|
||||||
msgid "URL"
|
msgid "URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:10
|
#: ckanext/harvest/templates/source/new_source_form.html:10
|
||||||
msgid "This should include the http:// part of the URL"
|
msgid "This should include the http:// part of the URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:14
|
#: ckanext/harvest/templates/source/new_source_form.html:14
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:14
|
#: ckanext/harvest/templates/source/new_source_form.html:14
|
||||||
msgid "eg. A descriptive title"
|
msgid "eg. A descriptive title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:21
|
#: ckanext/harvest/templates/source/new_source_form.html:21
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:21
|
#: ckanext/harvest/templates/source/new_source_form.html:21
|
||||||
msgid "eg. my-dataset"
|
msgid "eg. my-dataset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:23
|
#: ckanext/harvest/templates/source/new_source_form.html:23
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:43
|
#: ckanext/harvest/templates/source/new_source_form.html:43
|
||||||
msgid "Update frequency"
|
msgid "Update frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:46
|
#: ckanext/harvest/templates/source/new_source_form.html:46
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:66
|
#: ckanext/harvest/templates/source/new_source_form.html:66
|
||||||
msgid "No organization"
|
msgid "No organization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:79
|
#: ckanext/harvest/templates/source/new_source_form.html:79
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:82
|
#: ckanext/harvest/templates/source/new_source_form.html:82
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:92
|
#: ckanext/harvest/templates/source/new_source_form.html:92
|
||||||
msgid ""
|
msgid ""
|
||||||
"This will flag the source as deleted but keep all its datasets and previous "
|
"This will flag the source as deleted but keep all its datasets and previous "
|
||||||
"jobs. Are you sure you want to delete this harvest source?"
|
"jobs. Are you sure you want to delete this harvest source?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:93
|
#: ckanext/harvest/templates/source/new_source_form.html:93
|
||||||
msgid ""
|
msgid ""
|
||||||
"Warning: Apart from deleting this source, this command will remove all its "
|
"Warning: Apart from deleting this source, this command will remove all its "
|
||||||
"datasets, as well as all previous job reports. Are you sure you want to "
|
"datasets, as well as all previous job reports. Are you sure you want to "
|
||||||
"continue?"
|
"continue?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:96
|
#: ckanext/harvest/templates/source/new_source_form.html:96
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:102
|
#: ckanext/harvest/templates/source/new_source_form.html:102
|
||||||
msgid "Delete source"
|
msgid "Delete source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:107
|
#: ckanext/harvest/templates/source/new_source_form.html:107
|
||||||
msgid "Delete and clear source"
|
msgid "Delete and clear source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/old_new_source_form.html:5
|
#: ckanext/harvest/templates/source/old_new_source_form.html:5
|
||||||
msgid "Return to the harvest sources list"
|
msgid "Return to the harvest sources list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:15
|
#: ckanext/harvest/templates/source/org_source_list.html:15
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:25
|
#: ckanext/harvest/templates/source/search_2.0.html:25
|
||||||
msgid " found for \"{query}\""
|
msgid " found for \"{query}\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:31
|
#: ckanext/harvest/templates/source/org_source_list.html:31
|
||||||
msgid "Search sources..."
|
msgid "Search sources..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:32
|
#: ckanext/harvest/templates/source/org_source_list.html:32
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:8
|
#: ckanext/harvest/templates/source/search_2.0.html:8
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:22
|
#: ckanext/harvest/templates/source/read_base.html:22
|
||||||
msgid "read more"
|
msgid "read more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:54
|
#: ckanext/harvest/templates/source/read_base.html:54
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:44
|
#: ckanext/harvest/templates/source/search.html:44
|
||||||
msgid "Relevance"
|
msgid "Relevance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:45
|
#: ckanext/harvest/templates/source/search.html:45
|
||||||
msgid "Name Ascending"
|
msgid "Name Ascending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:46
|
#: ckanext/harvest/templates/source/search.html:46
|
||||||
msgid "Name Descending"
|
msgid "Name Descending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:47
|
#: ckanext/harvest/templates/source/search.html:47
|
||||||
msgid "Last Modified"
|
msgid "Last Modified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:48
|
#: ckanext/harvest/templates/source/search.html:48
|
||||||
msgid "Popular"
|
msgid "Popular"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:50
|
#: ckanext/harvest/templates/source/search.html:50
|
||||||
msgid "Search harvest sources..."
|
msgid "Search harvest sources..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:7
|
#: ckanext/harvest/templates/source/search_2.0.html:7
|
||||||
msgid "Search..."
|
msgid "Search..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:29
|
#: ckanext/harvest/templates/source/search_2.0.html:29
|
||||||
msgid "All harvest sources"
|
msgid "All harvest sources"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:42
|
#: ckanext/harvest/templates/source/search_2.0.html:42
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:48
|
#: ckanext/harvest/templates/source/search_2.0.html:48
|
||||||
msgid "Try another search term, browse the sources below or "
|
msgid "Try another search term, browse the sources below or "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:49
|
#: ckanext/harvest/templates/source/search_2.0.html:49
|
||||||
msgid "add a new one"
|
msgid "add a new one"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:55
|
#: ckanext/harvest/templates/source/search_2.0.html:55
|
||||||
msgid ""
|
msgid ""
|
||||||
" <p><strong>There was an error while searching.</strong> Please try "
|
" <p><strong>There was an error while searching.</strong> Please try "
|
||||||
"again.</p> "
|
"again.</p> "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:5
|
#: ckanext/harvest/templates/source/job/list.html:5
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:10
|
#: ckanext/harvest/templates/source/job/list.html:10
|
||||||
msgid "Harvest Jobs"
|
msgid "Harvest Jobs"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:21
|
#: ckanext/harvest/templates/source/job/list.html:21
|
||||||
msgid "Job: "
|
msgid "Job: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:28
|
#: ckanext/harvest/templates/source/job/list.html:28
|
||||||
msgid "Started:"
|
msgid "Started:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:28
|
#: ckanext/harvest/templates/source/job/list.html:30
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:30
|
#: ckanext/harvest/templates/source/job/list.html:35
|
||||||
msgid "Not yet"
|
msgid "Not yet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:30
|
#: ckanext/harvest/templates/source/job/list.html:33
|
||||||
msgid "Finished:"
|
msgid "Finished:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:3
|
#: ckanext/harvest/templates/source/job/read.html:3
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:12
|
#: ckanext/harvest/templates/source/job/read.html:12
|
||||||
msgid "Job Report"
|
msgid "Job Report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:9
|
#: ckanext/harvest/templates/source/job/read.html:9
|
||||||
msgid "Back to job list"
|
msgid "Back to job list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:18
|
#: ckanext/harvest/templates/source/job/read.html:18
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:22
|
#: ckanext/harvest/templates/source/job/read.html:22
|
||||||
msgid "Error Summary"
|
msgid "Error Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:19
|
#: ckanext/harvest/templates/source/job/read.html:19
|
||||||
msgid "No errors for this job"
|
msgid "No errors for this job"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:23
|
#: ckanext/harvest/templates/source/job/read.html:23
|
||||||
msgid "Only the 20 most frequent errors are shown"
|
msgid "Only the 20 most frequent errors are shown"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:26
|
#: ckanext/harvest/templates/source/job/read.html:26
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:40
|
#: ckanext/harvest/templates/source/job/read.html:40
|
||||||
msgid "Job Errors"
|
msgid "Job Errors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:30
|
#: ckanext/harvest/templates/source/job/read.html:30
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:57
|
#: ckanext/harvest/templates/source/job/read.html:57
|
||||||
msgid "Document Errors"
|
msgid "Document Errors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:37
|
#: ckanext/harvest/templates/source/job/read.html:37
|
||||||
msgid "Error Report"
|
msgid "Error Report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:58
|
#: ckanext/harvest/templates/source/job/read.html:58
|
||||||
msgid "documents with errors"
|
msgid "documents with errors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:69
|
#: ckanext/harvest/templates/source/job/read.html:69
|
||||||
msgid "Remote content"
|
msgid "Remote content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:73
|
#: ckanext/harvest/templates/source/job/read.html:73
|
||||||
msgid "Local content"
|
msgid "Local content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Translations template for ckanext-harvest.
|
# Swedish translations for ckanext-harvest.
|
||||||
# Copyright (C) 2015 ORGANIZATION
|
# Copyright (C) 2015 ORGANIZATION
|
||||||
# This file is distributed under the same license as the ckanext-harvest
|
# This file is distributed under the same license as the ckanext-harvest
|
||||||
# project.
|
# project.
|
||||||
|
@ -9,105 +9,103 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: ckanext-harvest\n"
|
"Project-Id-Version: ckanext-harvest\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2015-06-10 12:12+0100\n"
|
"POT-Creation-Date: 2015-12-11 15:21+0000\n"
|
||||||
"PO-Revision-Date: 2015-06-11 17:28+0000\n"
|
"PO-Revision-Date: 2015-06-11 17:28+0000\n"
|
||||||
"Last-Translator: Börje Lewin <borjelewin@gmail.com>\n"
|
"Last-Translator: Börje Lewin <borjelewin@gmail.com>\n"
|
||||||
"Language-Team: Swedish (http://www.transifex.com/projects/p/ckanext-harvest/language/sv/)\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
|
||||||
"Generated-By: Babel 0.9.6\n"
|
|
||||||
"Language: sv\n"
|
"Language: sv\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Language-Team: Swedish (http://www.transifex.com/projects/p/ckanext-"
|
||||||
|
"harvest/language/sv/)\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Generated-By: Babel 2.1.1\n"
|
||||||
|
|
||||||
#: ckanext/harvest/helpers.py:70
|
#: ckanext/harvest/helpers.py:70
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr "rubrik"
|
msgstr "rubrik"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:41
|
#: ckanext/harvest/controllers/organization.py:40
|
||||||
msgid "Group not found"
|
msgid "Group not found"
|
||||||
msgstr "Hittar inte grupp"
|
msgstr "Hittar inte grupp"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:43
|
#: ckanext/harvest/controllers/organization.py:42
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unauthorized to read group %s"
|
msgid "Unauthorized to read group %s"
|
||||||
msgstr "Obehörig att läsa grupp %s"
|
msgstr "Obehörig att läsa grupp %s"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:69
|
#: ckanext/harvest/controllers/organization.py:137
|
||||||
msgid "Cannot render description"
|
|
||||||
msgstr "Kan inte generera beskrivning"
|
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:151
|
|
||||||
msgid "Groups"
|
msgid "Groups"
|
||||||
msgstr "Grupper"
|
msgstr "Grupper"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:152
|
#: ckanext/harvest/controllers/organization.py:138
|
||||||
msgid "Tags"
|
msgid "Tags"
|
||||||
msgstr "Taggar"
|
msgstr "Taggar"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:153
|
#: ckanext/harvest/controllers/organization.py:139
|
||||||
msgid "Formats"
|
msgid "Formats"
|
||||||
msgstr "Format"
|
msgstr "Format"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/organization.py:154
|
#: ckanext/harvest/controllers/organization.py:140
|
||||||
msgid "Licence"
|
msgid "Licence"
|
||||||
msgstr "Licens"
|
msgstr "Licens"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:27
|
#: ckanext/harvest/controllers/view.py:28
|
||||||
msgid "Not authorized to see this page"
|
msgid "Not authorized to see this page"
|
||||||
msgstr "Obehörig att se denna sida"
|
msgstr "Obehörig att se denna sida"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:44
|
#: ckanext/harvest/controllers/view.py:45
|
||||||
msgid "Harvesting source successfully cleared"
|
msgid "Harvesting source successfully cleared"
|
||||||
msgstr "Källan för skördning har raderats"
|
msgstr "Källan för skördning har raderats"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:46
|
#: ckanext/harvest/controllers/view.py:47
|
||||||
msgid "Harvesting source successfully inactivated"
|
msgid "Harvesting source successfully inactivated"
|
||||||
msgstr "Källan för skördning har avaktiverats"
|
msgstr "Källan för skördning har avaktiverats"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:50
|
#: ckanext/harvest/controllers/view.py:51
|
||||||
#: ckanext/harvest/controllers/view.py:61
|
#: ckanext/harvest/controllers/view.py:63
|
||||||
#: ckanext/harvest/controllers/view.py:82
|
#: ckanext/harvest/controllers/view.py:85
|
||||||
#: ckanext/harvest/controllers/view.py:143
|
#: ckanext/harvest/controllers/view.py:146
|
||||||
#: ckanext/harvest/controllers/view.py:181
|
#: ckanext/harvest/controllers/view.py:184
|
||||||
#: ckanext/harvest/controllers/view.py:192
|
#: ckanext/harvest/controllers/view.py:195
|
||||||
#: ckanext/harvest/controllers/view.py:218
|
#: ckanext/harvest/controllers/view.py:221
|
||||||
#: ckanext/harvest/logic/auth/create.py:34
|
#: ckanext/harvest/logic/auth/create.py:34
|
||||||
#: ckanext/harvest/logic/auth/delete.py:18
|
#: ckanext/harvest/logic/auth/delete.py:18 ckanext/harvest/logic/auth/get.py:33
|
||||||
#: ckanext/harvest/logic/auth/get.py:33
|
|
||||||
#: ckanext/harvest/logic/auth/update.py:19
|
#: ckanext/harvest/logic/auth/update.py:19
|
||||||
msgid "Harvest source not found"
|
msgid "Harvest source not found"
|
||||||
msgstr "Hittar inte källan"
|
msgstr "Hittar inte källan"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:59
|
#: ckanext/harvest/controllers/view.py:61
|
||||||
msgid "Refresh requested, harvesting will take place within 15 minutes."
|
msgid "Harvest will start shortly. Refresh this page for updates."
|
||||||
msgstr "Uppdatering har begärts, skördning sker inom 15 minuter."
|
msgstr ""
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:66
|
#: ckanext/harvest/controllers/view.py:67
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot create new harvest jobs on inactive sources. First, please change the"
|
"Cannot create new harvest jobs on inactive sources. First, please change "
|
||||||
" source status to 'active'."
|
"the source status to 'active'."
|
||||||
msgstr "Kan inte skapa nya skördningsjobb för inaktiva källor. Ändra först källans status till 'aktiv'."
|
msgstr ""
|
||||||
|
"Kan inte skapa nya skördningsjobb för inaktiva källor. Ändra först "
|
||||||
|
"källans status till 'aktiv'."
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:69
|
#: ckanext/harvest/controllers/view.py:71
|
||||||
msgid "A harvest job has already been scheduled for this source"
|
msgid "A harvest job has already been scheduled for this source"
|
||||||
msgstr "Ett skördningsjobb har redan schemalagts för denna källa"
|
msgstr "Ett skördningsjobb har redan schemalagts för denna källa"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:80
|
#: ckanext/harvest/controllers/view.py:83
|
||||||
msgid "Harvest source cleared"
|
msgid "Harvest source cleared"
|
||||||
msgstr "Skördningskällan har rensats"
|
msgstr "Skördningskällan har rensats"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:108
|
#: ckanext/harvest/controllers/view.py:111
|
||||||
msgid "No content found"
|
msgid "No content found"
|
||||||
msgstr "Hittar inget innehåll"
|
msgstr "Hittar inget innehåll"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:168
|
#: ckanext/harvest/controllers/view.py:171
|
||||||
msgid "Harvest job not found"
|
msgid "Harvest job not found"
|
||||||
msgstr "Hittar inte skördningsjobbet"
|
msgstr "Hittar inte skördningsjobbet"
|
||||||
|
|
||||||
#: ckanext/harvest/controllers/view.py:201
|
#: ckanext/harvest/controllers/view.py:204
|
||||||
#: ckanext/harvest/templates_new/source/admin.html:15
|
#: ckanext/harvest/templates/source/admin.html:15
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:13
|
#: ckanext/harvest/templates/source/job/list.html:13
|
||||||
msgid "No jobs yet for this source"
|
msgid "No jobs yet for this source"
|
||||||
msgstr "Det finns inga jobb för denna källa"
|
msgstr "Det finns inga jobb för denna källa"
|
||||||
|
|
||||||
|
@ -155,419 +153,439 @@ msgstr "Endast systemadministratörer kan importera om skördningsobjekt"
|
||||||
msgid "Only sysadmins can run the pending harvest jobs"
|
msgid "Only sysadmins can run the pending harvest jobs"
|
||||||
msgstr "Endast systemadministratörer kan köra väntande skördningsjobb"
|
msgstr "Endast systemadministratörer kan köra väntande skördningsjobb"
|
||||||
|
|
||||||
#: ckanext/harvest/logic/auth/update.py:68
|
#: ckanext/harvest/logic/auth/update.py:89
|
||||||
msgid "Only sysadmins can reindex all harvest sources"
|
msgid "Only sysadmins can reindex all harvest sources"
|
||||||
msgstr "Endast systemadministratörer kan omindexera skördningskällor"
|
msgstr "Endast systemadministratörer kan omindexera skördningskällor"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/add_source_button.html:6
|
#: ckanext/harvest/templates/snippets/add_source_button.html:6
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:11
|
#: ckanext/harvest/templates/source/org_source_list.html:11
|
||||||
msgid "Add Harvest Source"
|
msgid "Add Harvest Source"
|
||||||
msgstr "Lägg till skördningskälla"
|
msgstr "Lägg till skördningskälla"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:26
|
#: ckanext/harvest/templates/snippets/job_details.html:26
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:38
|
#: ckanext/harvest/templates/source/job/list.html:44
|
||||||
msgid "errors"
|
msgid "errors"
|
||||||
msgstr "fel"
|
msgstr "fel"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:41
|
#: ckanext/harvest/templates/snippets/job_details.html:41
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr "Detaljer"
|
msgstr "Detaljer"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:48
|
#: ckanext/harvest/templates/snippets/job_details.html:48
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Id"
|
msgstr "Id"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:52
|
#: ckanext/harvest/templates/snippets/job_details.html:52
|
||||||
msgid "Created"
|
msgid "Created"
|
||||||
msgstr "Skapad"
|
msgstr "Skapad"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:56
|
#: ckanext/harvest/templates/snippets/job_details.html:60
|
||||||
msgid "Started"
|
msgid "Started"
|
||||||
msgstr "Påbörjad"
|
msgstr "Påbörjad"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:60
|
#: ckanext/harvest/templates/snippets/job_details.html:68
|
||||||
msgid "Finished"
|
msgid "Finished"
|
||||||
msgstr "Avslutad"
|
msgstr "Avslutad"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_details.html:64
|
#: ckanext/harvest/templates/snippets/job_details.html:76
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_error_summary.html:18
|
#: ckanext/harvest/templates/snippets/job_error_summary.html:18
|
||||||
msgid "Count"
|
msgid "Count"
|
||||||
msgstr "Antal"
|
msgstr "Antal"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/job_error_summary.html:19
|
#: ckanext/harvest/templates/snippets/job_error_summary.html:19
|
||||||
msgid "Message"
|
msgid "Message"
|
||||||
msgstr "Meddelande"
|
msgstr "Meddelande"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/package_list_empty.html:1
|
#: ckanext/harvest/templates/snippets/package_list_empty.html:1
|
||||||
msgid "There are no datasets associated to this harvest source."
|
msgid "There are no datasets associated to this harvest source."
|
||||||
msgstr "Det finns inga dataset kopplade till denna skördningskälla"
|
msgstr "Det finns inga dataset kopplade till denna skördningskälla"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:4
|
#: ckanext/harvest/templates/snippets/search_result_text.html:4
|
||||||
msgid "{number} harvest source found for \"{query}\""
|
msgid "{number} harvest source found for \"{query}\""
|
||||||
msgid_plural "{number} harvest sources found for \"{query}\""
|
msgid_plural "{number} harvest sources found for \"{query}\""
|
||||||
msgstr[0] "{number} skördningskälla hittades för \"{query}\""
|
msgstr[0] "{number} skördningskälla hittades för \"{query}\""
|
||||||
msgstr[1] "{number} skördningskällor hittades för \"{query}\""
|
msgstr[1] "{number} skördningskällor hittades för \"{query}\""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:5
|
#: ckanext/harvest/templates/snippets/search_result_text.html:5
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:17
|
#: ckanext/harvest/templates/source/org_source_list.html:17
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:27
|
#: ckanext/harvest/templates/source/search_2.0.html:27
|
||||||
msgid "Sorry no harvest sources found for \"{query}\""
|
msgid "Sorry no harvest sources found for \"{query}\""
|
||||||
msgstr "Hittar inga skördningskällor för \"{query}\""
|
msgstr "Hittar inga skördningskällor för \"{query}\""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:6
|
#: ckanext/harvest/templates/snippets/search_result_text.html:6
|
||||||
msgid "{number} harvest source found"
|
msgid "{number} harvest source found"
|
||||||
msgid_plural "{number} harvest sources found"
|
msgid_plural "{number} harvest sources found"
|
||||||
msgstr[0] "{number} skördningskälla hittades"
|
msgstr[0] "{number} skördningskälla hittades"
|
||||||
msgstr[1] "{number} skördningskällor hittades"
|
msgstr[1] "{number} skördningskällor hittades"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/search_result_text.html:7
|
#: ckanext/harvest/templates/snippets/search_result_text.html:7
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:25
|
#: ckanext/harvest/templates/source/org_source_list.html:25
|
||||||
msgid "Sorry no harvest sources found"
|
msgid "Sorry no harvest sources found"
|
||||||
msgstr "Hittade inga skördningskällor"
|
msgstr "Hittade inga skördningskällor"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:28
|
#: ckanext/harvest/templates/snippets/source_item.html:28
|
||||||
msgid "Draft"
|
msgid "Draft"
|
||||||
msgstr "Utkast"
|
msgstr "Utkast"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:30
|
#: ckanext/harvest/templates/snippets/source_item.html:30
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:83
|
#: ckanext/harvest/templates/source/new_source_form.html:83
|
||||||
msgid "Deleted"
|
msgid "Deleted"
|
||||||
msgstr "Borttagen"
|
msgstr "Borttagen"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:37
|
#: ckanext/harvest/templates/snippets/source_item.html:37
|
||||||
#: ckanext/harvest/templates_new/source/about.html:9
|
#: ckanext/harvest/templates/source/about.html:9
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:25
|
#: ckanext/harvest/templates/source/read_base.html:25
|
||||||
msgid "There is no description for this harvest source"
|
msgid "There is no description for this harvest source"
|
||||||
msgstr "Det finns ingen beskrivning för denna skördningskälla"
|
msgstr "Det finns ingen beskrivning för denna skördningskälla"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:42
|
#: ckanext/harvest/templates/snippets/source_item.html:42
|
||||||
#: ckanext/harvest/templates_new/source/read.html:5
|
#: ckanext/harvest/templates/source/read.html:5
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:30
|
#: ckanext/harvest/templates/source/read_base.html:30
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:53
|
#: ckanext/harvest/templates/source/read_base.html:53
|
||||||
msgid "Datasets"
|
msgid "Datasets"
|
||||||
msgstr "Dataset"
|
msgstr "Dataset"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/snippets/source_item.html:45
|
#: ckanext/harvest/templates/snippets/source_item.html:45
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:63
|
#: ckanext/harvest/templates/source/new_source_form.html:63
|
||||||
msgid "Organization"
|
msgid "Organization"
|
||||||
msgstr "Organisation"
|
msgstr "Organisation"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin.html:5
|
#: ckanext/harvest/templates/source/admin.html:5
|
||||||
msgid "Last Harvest Job"
|
msgid "Last Harvest Job"
|
||||||
msgstr "Sista skördningsjobb"
|
msgstr "Sista skördningsjobb"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin.html:11
|
#: ckanext/harvest/templates/source/admin.html:11
|
||||||
msgid "View full job report"
|
msgid "View full job report"
|
||||||
msgstr "Visa fullständig jobbrapport"
|
msgstr "Visa fullständig jobbrapport"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:7
|
#: ckanext/harvest/templates/source/admin_base.html:7
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:4
|
#: ckanext/harvest/templates/source/read_base.html:4
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:15
|
#: ckanext/harvest/templates/source/admin_base.html:15
|
||||||
msgid ""
|
msgid ""
|
||||||
"This will re-run the harvesting for this source. Any updates at the source "
|
"This will re-run the harvesting for this source. Any updates at the "
|
||||||
"will overwrite the local datasets. Sources with a large number of datasets "
|
"source will overwrite the local datasets. Sources with a large number of "
|
||||||
"may take a significant amount of time to finish harvesting. Please confirm "
|
"datasets may take a significant amount of time to finish harvesting. "
|
||||||
"you would like us to start reharvesting."
|
"Please confirm you would like us to start reharvesting."
|
||||||
msgstr "Skördningen kommer att köras igen för denna källa. Alla uppdateringar från källan kommer att ersätta lokala dataset. Källor med många dataset kan ta lång tid att skörda. Bekräfta om du vill starta en omskördning."
|
msgstr ""
|
||||||
|
"Skördningen kommer att köras igen för denna källa. Alla uppdateringar "
|
||||||
|
"från källan kommer att ersätta lokala dataset. Källor med många dataset "
|
||||||
|
"kan ta lång tid att skörda. Bekräfta om du vill starta en omskördning."
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:18
|
#: ckanext/harvest/templates/source/admin_base.html:18
|
||||||
msgid "Start a new harvesting job for this harvest source now"
|
msgid "Start a new harvesting job for this harvest source now"
|
||||||
msgstr "Starta ett nytt skördningsjobb för denna skördningskälla nu."
|
msgstr "Starta ett nytt skördningsjobb för denna skördningskälla nu."
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:20
|
#: ckanext/harvest/templates/source/admin_base.html:20
|
||||||
msgid "Reharvest"
|
msgid "Reharvest"
|
||||||
msgstr "Skörda om"
|
msgstr "Skörda om"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:24
|
#: ckanext/harvest/templates/source/admin_base.html:24
|
||||||
msgid ""
|
msgid ""
|
||||||
"Warning: This will remove all datasets for this source, as well as all "
|
"Warning: This will remove all datasets for this source, as well as all "
|
||||||
"previous job reports. Are you sure you want to continue?"
|
"previous job reports. Are you sure you want to continue?"
|
||||||
msgstr "Varning: Alla dataset för denna källa tas bort, liksom tidigare jobbrapporter. Vill du fortsätta?"
|
msgstr ""
|
||||||
|
"Varning: Alla dataset för denna källa tas bort, liksom tidigare "
|
||||||
|
"jobbrapporter. Vill du fortsätta?"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:27
|
#: ckanext/harvest/templates/source/admin_base.html:27
|
||||||
msgid "Delete all harvest jobs and existing datasets from this source"
|
msgid "Delete all harvest jobs and existing datasets from this source"
|
||||||
msgstr "Ta bort alla skördningsjobb och befintliga dataset från denna källa"
|
msgstr "Ta bort alla skördningsjobb och befintliga dataset från denna källa"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:28
|
#: ckanext/harvest/templates/source/admin_base.html:28
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Rensa"
|
msgstr "Rensa"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:32
|
#: ckanext/harvest/templates/source/admin_base.html:32
|
||||||
msgid "View harvest source"
|
msgid "View harvest source"
|
||||||
msgstr "Visa skördningskälla"
|
msgstr "Visa skördningskälla"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:48
|
#: ckanext/harvest/templates/source/admin_base.html:48
|
||||||
msgid "Dashboard"
|
msgid "Dashboard"
|
||||||
msgstr "Kontrollpanel"
|
msgstr "Kontrollpanel"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:49
|
#: ckanext/harvest/templates/source/admin_base.html:49
|
||||||
msgid "Jobs"
|
msgid "Jobs"
|
||||||
msgstr "Jobb"
|
msgstr "Jobb"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/admin_base.html:50
|
#: ckanext/harvest/templates/source/admin_base.html:50
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Redigera"
|
msgstr "Redigera"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/base.html:17
|
#: ckanext/harvest/templates/source/base.html:17
|
||||||
msgid "Organizations"
|
msgid "Organizations"
|
||||||
msgstr "Organisationer"
|
msgstr "Organisationer"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/base.html:19
|
#: ckanext/harvest/templates/source/base.html:19
|
||||||
#: ckanext/harvest/templates_new/source/base.html:22
|
#: ckanext/harvest/templates/source/base.html:22
|
||||||
#: ckanext/harvest/templates_new/source/new.html:4
|
#: ckanext/harvest/templates/source/new.html:4
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:3
|
#: ckanext/harvest/templates/source/org_source_list.html:3
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:7
|
#: ckanext/harvest/templates/source/org_source_list.html:7
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:19
|
#: ckanext/harvest/templates/source/org_source_list.html:19
|
||||||
#: ckanext/harvest/templates_new/source/search.html:7
|
#: ckanext/harvest/templates/source/search.html:7
|
||||||
msgid "Harvest Sources"
|
msgid "Harvest Sources"
|
||||||
msgstr "Skördningskällor"
|
msgstr "Skördningskällor"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/edit.html:3
|
#: ckanext/harvest/templates/source/edit.html:3
|
||||||
msgid "Edit harvest source"
|
msgid "Edit harvest source"
|
||||||
msgstr "Redigera skördningskällo"
|
msgstr "Redigera skördningskällo"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:5
|
#: ckanext/harvest/templates/source/new.html:5
|
||||||
msgid "Create Harvest Source"
|
msgid "Create Harvest Source"
|
||||||
msgstr "Skapa skördningskälla"
|
msgstr "Skapa skördningskälla"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:11
|
#: ckanext/harvest/templates/source/new.html:11
|
||||||
msgid "Create harvest source"
|
msgid "Create harvest source"
|
||||||
msgstr "Skapa skördningskälla"
|
msgstr "Skapa skördningskälla"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:23
|
#: ckanext/harvest/templates/source/new.html:23
|
||||||
#: ckanext/harvest/templates_new/source/search.html:3
|
#: ckanext/harvest/templates/source/search.html:3
|
||||||
msgid "Harvest sources"
|
msgid "Harvest sources"
|
||||||
msgstr "Skördningskällor"
|
msgstr "Skördningskällor"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new.html:26
|
#: ckanext/harvest/templates/source/new.html:26
|
||||||
msgid ""
|
msgid ""
|
||||||
" Harvest sources allow importing remote metadata into this catalog. Remote "
|
" Harvest sources allow importing remote metadata into this catalog. "
|
||||||
"sources can be other catalogs such as other CKAN instances, CSW servers or "
|
"Remote sources can be other catalogs such as other CKAN instances, CSW "
|
||||||
"Web Accessible Folders (WAF) (depending on the actual harvesters enabled for"
|
"servers or Web Accessible Folders (WAF) (depending on the actual "
|
||||||
" this instance). "
|
"harvesters enabled for this instance). "
|
||||||
msgstr "Skördningskällor kan användas för att importera metadata till katalogen. Källor kan vara kataloger (t ex CKAN-instanser), CSW-servrar eller Web Accessible Folders (WAF), beroende på antalet aktiverade skördningsformat för instansen. "
|
msgstr ""
|
||||||
|
"Skördningskällor kan användas för att importera metadata till katalogen. "
|
||||||
|
"Källor kan vara kataloger (t ex CKAN-instanser), CSW-servrar eller Web "
|
||||||
|
"Accessible Folders (WAF), beroende på antalet aktiverade skördningsformat"
|
||||||
|
" för instansen. "
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:8
|
#: ckanext/harvest/templates/source/new_source_form.html:8
|
||||||
msgid "URL"
|
msgid "URL"
|
||||||
msgstr "URL"
|
msgstr "URL"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:10
|
#: ckanext/harvest/templates/source/new_source_form.html:10
|
||||||
msgid "This should include the http:// part of the URL"
|
msgid "This should include the http:// part of the URL"
|
||||||
msgstr "Denna URL ska börja med http://"
|
msgstr "Denna URL ska börja med http://"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:14
|
#: ckanext/harvest/templates/source/new_source_form.html:14
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Rubrik"
|
msgstr "Rubrik"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:14
|
#: ckanext/harvest/templates/source/new_source_form.html:14
|
||||||
msgid "eg. A descriptive title"
|
msgid "eg. A descriptive title"
|
||||||
msgstr "t ex Beskrivande rubrik"
|
msgstr "t ex Beskrivande rubrik"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:21
|
#: ckanext/harvest/templates/source/new_source_form.html:21
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Namn"
|
msgstr "Namn"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:21
|
#: ckanext/harvest/templates/source/new_source_form.html:21
|
||||||
msgid "eg. my-dataset"
|
msgid "eg. my-dataset"
|
||||||
msgstr "t ex mitt-dataset"
|
msgstr "t ex mitt-dataset"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:23
|
#: ckanext/harvest/templates/source/new_source_form.html:23
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Beskrivning"
|
msgstr "Beskrivning"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:43
|
#: ckanext/harvest/templates/source/new_source_form.html:43
|
||||||
msgid "Update frequency"
|
msgid "Update frequency"
|
||||||
msgstr "Uppdateringsfrekvens"
|
msgstr "Uppdateringsfrekvens"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:46
|
#: ckanext/harvest/templates/source/new_source_form.html:46
|
||||||
msgid "Configuration"
|
msgid "Configuration"
|
||||||
msgstr "Konfiguration"
|
msgstr "Konfiguration"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:66
|
#: ckanext/harvest/templates/source/new_source_form.html:66
|
||||||
msgid "No organization"
|
msgid "No organization"
|
||||||
msgstr "Ingen organisation"
|
msgstr "Ingen organisation"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:79
|
#: ckanext/harvest/templates/source/new_source_form.html:79
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:82
|
#: ckanext/harvest/templates/source/new_source_form.html:82
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktiv"
|
msgstr "Aktiv"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:92
|
#: ckanext/harvest/templates/source/new_source_form.html:92
|
||||||
msgid ""
|
msgid ""
|
||||||
"This will flag the source as deleted but keep all its datasets and previous "
|
"This will flag the source as deleted but keep all its datasets and "
|
||||||
"jobs. Are you sure you want to delete this harvest source?"
|
"previous jobs. Are you sure you want to delete this harvest source?"
|
||||||
msgstr "Källan markeras som borttagen men alla dataset och tidigare jobb sparas. Vill du markera skördningskällan som borttagen?"
|
msgstr ""
|
||||||
|
"Källan markeras som borttagen men alla dataset och tidigare jobb sparas. "
|
||||||
|
"Vill du markera skördningskällan som borttagen?"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:93
|
#: ckanext/harvest/templates/source/new_source_form.html:93
|
||||||
msgid ""
|
msgid ""
|
||||||
"Warning: Apart from deleting this source, this command will remove all its "
|
"Warning: Apart from deleting this source, this command will remove all "
|
||||||
"datasets, as well as all previous job reports. Are you sure you want to "
|
"its datasets, as well as all previous job reports. Are you sure you want "
|
||||||
"continue?"
|
"to continue?"
|
||||||
msgstr "Varning. Förutom att källan tas bort, raderas även alla källans dataset och tidigare jobbrapporter. Vill du fortsätta med raderingen?"
|
msgstr ""
|
||||||
|
"Varning. Förutom att källan tas bort, raderas även alla källans dataset "
|
||||||
|
"och tidigare jobbrapporter. Vill du fortsätta med raderingen?"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:96
|
#: ckanext/harvest/templates/source/new_source_form.html:96
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Ta bort"
|
msgstr "Ta bort"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:102
|
#: ckanext/harvest/templates/source/new_source_form.html:102
|
||||||
msgid "Delete source"
|
msgid "Delete source"
|
||||||
msgstr "Ta bort källa"
|
msgstr "Ta bort källa"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/new_source_form.html:107
|
#: ckanext/harvest/templates/source/new_source_form.html:107
|
||||||
msgid "Delete and clear source"
|
msgid "Delete and clear source"
|
||||||
msgstr "Ta bort och rensa källa"
|
msgstr "Ta bort och rensa källa"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/old_new_source_form.html:5
|
#: ckanext/harvest/templates/source/old_new_source_form.html:5
|
||||||
msgid "Return to the harvest sources list"
|
msgid "Return to the harvest sources list"
|
||||||
msgstr "Återgå till listan med skördningskällor"
|
msgstr "Återgå till listan med skördningskällor"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:15
|
#: ckanext/harvest/templates/source/org_source_list.html:15
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:25
|
#: ckanext/harvest/templates/source/search_2.0.html:25
|
||||||
msgid " found for \"{query}\""
|
msgid " found for \"{query}\""
|
||||||
msgstr " hittades för \"{query}\""
|
msgstr " hittades för \"{query}\""
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:31
|
#: ckanext/harvest/templates/source/org_source_list.html:31
|
||||||
msgid "Search sources..."
|
msgid "Search sources..."
|
||||||
msgstr "Sök källor..."
|
msgstr "Sök källor..."
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/org_source_list.html:32
|
#: ckanext/harvest/templates/source/org_source_list.html:32
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:8
|
#: ckanext/harvest/templates/source/search_2.0.html:8
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Sök"
|
msgstr "Sök"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:22
|
#: ckanext/harvest/templates/source/read_base.html:22
|
||||||
msgid "read more"
|
msgid "read more"
|
||||||
msgstr "läs mer"
|
msgstr "läs mer"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/read_base.html:54
|
#: ckanext/harvest/templates/source/read_base.html:54
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr "Om"
|
msgstr "Om"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:44
|
#: ckanext/harvest/templates/source/search.html:44
|
||||||
msgid "Relevance"
|
msgid "Relevance"
|
||||||
msgstr "Relevans"
|
msgstr "Relevans"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:45
|
#: ckanext/harvest/templates/source/search.html:45
|
||||||
msgid "Name Ascending"
|
msgid "Name Ascending"
|
||||||
msgstr "Namn (stigande)"
|
msgstr "Namn (stigande)"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:46
|
#: ckanext/harvest/templates/source/search.html:46
|
||||||
msgid "Name Descending"
|
msgid "Name Descending"
|
||||||
msgstr "Namn (fallande)"
|
msgstr "Namn (fallande)"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:47
|
#: ckanext/harvest/templates/source/search.html:47
|
||||||
msgid "Last Modified"
|
msgid "Last Modified"
|
||||||
msgstr "Senast ändrad"
|
msgstr "Senast ändrad"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:48
|
#: ckanext/harvest/templates/source/search.html:48
|
||||||
msgid "Popular"
|
msgid "Popular"
|
||||||
msgstr "Populär"
|
msgstr "Populär"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search.html:50
|
#: ckanext/harvest/templates/source/search.html:50
|
||||||
msgid "Search harvest sources..."
|
msgid "Search harvest sources..."
|
||||||
msgstr "Sök skördningskällor..."
|
msgstr "Sök skördningskällor..."
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:7
|
#: ckanext/harvest/templates/source/search_2.0.html:7
|
||||||
msgid "Search..."
|
msgid "Search..."
|
||||||
msgstr "Sök..."
|
msgstr "Sök..."
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:29
|
#: ckanext/harvest/templates/source/search_2.0.html:29
|
||||||
msgid "All harvest sources"
|
msgid "All harvest sources"
|
||||||
msgstr "Alla skördningskällor"
|
msgstr "Alla skördningskällor"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:42
|
#: ckanext/harvest/templates/source/search_2.0.html:42
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Radera"
|
msgstr "Radera"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:48
|
#: ckanext/harvest/templates/source/search_2.0.html:48
|
||||||
msgid "Try another search term, browse the sources below or "
|
msgid "Try another search term, browse the sources below or "
|
||||||
msgstr "Försök med en annan sökning, välj bland källorna nedan eller "
|
msgstr "Försök med en annan sökning, välj bland källorna nedan eller "
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:49
|
#: ckanext/harvest/templates/source/search_2.0.html:49
|
||||||
msgid "add a new one"
|
msgid "add a new one"
|
||||||
msgstr "lägg till en ny"
|
msgstr "lägg till en ny"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/search_2.0.html:55
|
#: ckanext/harvest/templates/source/search_2.0.html:55
|
||||||
msgid ""
|
msgid ""
|
||||||
" <p><strong>There was an error while searching.</strong> Please try "
|
" <p><strong>There was an error while searching.</strong> Please try "
|
||||||
"again.</p> "
|
"again.</p> "
|
||||||
msgstr " <p><strong>Fel vid sökning.</strong> Försök igen.</p> "
|
msgstr " <p><strong>Fel vid sökning.</strong> Försök igen.</p> "
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:5
|
#: ckanext/harvest/templates/source/job/list.html:5
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:10
|
#: ckanext/harvest/templates/source/job/list.html:10
|
||||||
msgid "Harvest Jobs"
|
msgid "Harvest Jobs"
|
||||||
msgstr "Skördningsjobb"
|
msgstr "Skördningsjobb"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:21
|
#: ckanext/harvest/templates/source/job/list.html:21
|
||||||
msgid "Job: "
|
msgid "Job: "
|
||||||
msgstr "Jobb:"
|
msgstr "Jobb:"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:28
|
#: ckanext/harvest/templates/source/job/list.html:28
|
||||||
msgid "Started:"
|
msgid "Started:"
|
||||||
msgstr "Påbörjade:"
|
msgstr "Påbörjade:"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:28
|
#: ckanext/harvest/templates/source/job/list.html:30
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:30
|
#: ckanext/harvest/templates/source/job/list.html:35
|
||||||
msgid "Not yet"
|
msgid "Not yet"
|
||||||
msgstr "Inte ännu"
|
msgstr "Inte ännu"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/list.html:30
|
#: ckanext/harvest/templates/source/job/list.html:33
|
||||||
msgid "Finished:"
|
msgid "Finished:"
|
||||||
msgstr "Avslutade:"
|
msgstr "Avslutade:"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:3
|
#: ckanext/harvest/templates/source/job/read.html:3
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:12
|
#: ckanext/harvest/templates/source/job/read.html:12
|
||||||
msgid "Job Report"
|
msgid "Job Report"
|
||||||
msgstr "Jobbrapport"
|
msgstr "Jobbrapport"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:9
|
#: ckanext/harvest/templates/source/job/read.html:9
|
||||||
msgid "Back to job list"
|
msgid "Back to job list"
|
||||||
msgstr "Tillbaka till jobblistan"
|
msgstr "Tillbaka till jobblistan"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:18
|
#: ckanext/harvest/templates/source/job/read.html:18
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:22
|
#: ckanext/harvest/templates/source/job/read.html:22
|
||||||
msgid "Error Summary"
|
msgid "Error Summary"
|
||||||
msgstr "Översikt för felaktigheter"
|
msgstr "Översikt för felaktigheter"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:19
|
#: ckanext/harvest/templates/source/job/read.html:19
|
||||||
msgid "No errors for this job"
|
msgid "No errors for this job"
|
||||||
msgstr "Inga felaktigheter för detta jobb"
|
msgstr "Inga felaktigheter för detta jobb"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:23
|
#: ckanext/harvest/templates/source/job/read.html:23
|
||||||
msgid "Only the 20 most frequent errors are shown"
|
msgid "Only the 20 most frequent errors are shown"
|
||||||
msgstr "Endast de 20 vanligaste felen visas"
|
msgstr "Endast de 20 vanligaste felen visas"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:26
|
#: ckanext/harvest/templates/source/job/read.html:26
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:40
|
#: ckanext/harvest/templates/source/job/read.html:40
|
||||||
msgid "Job Errors"
|
msgid "Job Errors"
|
||||||
msgstr "Jobbfel"
|
msgstr "Jobbfel"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:30
|
#: ckanext/harvest/templates/source/job/read.html:30
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:57
|
#: ckanext/harvest/templates/source/job/read.html:57
|
||||||
msgid "Document Errors"
|
msgid "Document Errors"
|
||||||
msgstr "Dokumentfel"
|
msgstr "Dokumentfel"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:37
|
#: ckanext/harvest/templates/source/job/read.html:37
|
||||||
msgid "Error Report"
|
msgid "Error Report"
|
||||||
msgstr "Felrapport"
|
msgstr "Felrapport"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:58
|
#: ckanext/harvest/templates/source/job/read.html:58
|
||||||
msgid "documents with errors"
|
msgid "documents with errors"
|
||||||
msgstr "dokument med fel"
|
msgstr "dokument med fel"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:69
|
#: ckanext/harvest/templates/source/job/read.html:69
|
||||||
msgid "Remote content"
|
msgid "Remote content"
|
||||||
msgstr "Fjärrinnehåll"
|
msgstr "Fjärrinnehåll"
|
||||||
|
|
||||||
#: ckanext/harvest/templates_new/source/job/read.html:73
|
#: ckanext/harvest/templates/source/job/read.html:73
|
||||||
msgid "Local content"
|
msgid "Local content"
|
||||||
msgstr "Lokalt innehåll"
|
msgstr "Lokalt innehåll"
|
||||||
|
|
||||||
|
#~ msgid "Cannot render description"
|
||||||
|
#~ msgstr "Kan inte generera beskrivning"
|
||||||
|
|
||||||
|
#~ msgid "Refresh requested, harvesting will take place within 15 minutes."
|
||||||
|
#~ msgstr "Uppdatering har begärts, skördning sker inom 15 minuter."
|
||||||
|
|
||||||
|
|
|
@ -229,12 +229,14 @@ class Harvest(p.SingletonPlugin, DefaultDatasetForm, DefaultTranslation):
|
||||||
return map
|
return map
|
||||||
|
|
||||||
def update_config(self, config):
|
def update_config(self, config):
|
||||||
# check if new templates
|
if not p.toolkit.check_ckan_version(min_version='2.0'):
|
||||||
templates = 'templates'
|
assert 0, 'CKAN before 2.0 not supported by ckanext-harvest - '\
|
||||||
if p.toolkit.check_ckan_version(min_version='2.0'):
|
'genshi templates not supported any more'
|
||||||
if not p.toolkit.asbool(config.get('ckan.legacy_templates', False)):
|
if p.toolkit.asbool(config.get('ckan.legacy_templates', False)):
|
||||||
templates = 'templates_new'
|
log.warn('Old genshi templates not supported any more by '
|
||||||
p.toolkit.add_template_directory(config, templates)
|
'ckanext-harvest so you should set ckan.legacy_templates '
|
||||||
|
'option to True any more.')
|
||||||
|
p.toolkit.add_template_directory(config, 'templates')
|
||||||
p.toolkit.add_public_directory(config, 'public')
|
p.toolkit.add_public_directory(config, 'public')
|
||||||
p.toolkit.add_resource('fanstatic_library', 'ckanext-harvest')
|
p.toolkit.add_resource('fanstatic_library', 'ckanext-harvest')
|
||||||
p.toolkit.add_resource('public/ckanext/harvest/javascript', 'harvest-extra-field')
|
p.toolkit.add_resource('public/ckanext/harvest/javascript', 'harvest-extra-field')
|
||||||
|
|
|
@ -1,95 +1,91 @@
|
||||||
<html xmlns:py="http://genshi.edgewall.org/"
|
{% extends "page.html" %}
|
||||||
xmlns:i18n="http://genshi.edgewall.org/i18n"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
py:strip="">
|
|
||||||
|
|
||||||
<py:def function="page_title">Harvesting Sources</py:def>
|
{% block title %}{{ _('Harvesting Sources') }} - {{ super() }}{% endblock %}
|
||||||
|
|
||||||
<py:def function="body_class">harvest no-sidebar</py:def>
|
{% block breadcrumb_content %}
|
||||||
<py:def function="page_heading">Harvesting Sources</py:def>
|
{% endblock %}
|
||||||
|
|
||||||
<py:def function="optional_head">
|
{% block styles %}
|
||||||
|
{{ super() }}
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="/ckanext/harvest/style.css" />
|
<link type="text/css" rel="stylesheet" media="all" href="/ckanext/harvest/style.css" />
|
||||||
</py:def>
|
{% endblock %}
|
||||||
<py:def function="optional_footer">
|
|
||||||
|
{% block scripts %}
|
||||||
|
{{ super() }}
|
||||||
<script>$("#show-inactive-sources").click(function(){$("#harvest-sources .inactive").toggle()});</script>
|
<script>$("#show-inactive-sources").click(function(){$("#harvest-sources .inactive").toggle()});</script>
|
||||||
</py:def>
|
{% endblock %}
|
||||||
|
|
||||||
<div py:match="content">
|
{% block primary %}
|
||||||
<div class="harvest-content">
|
<article class="module">
|
||||||
|
<div class="module-content">
|
||||||
<div py:if="c.status" class="status">
|
<h1>{% trans %}Harvesting Sources{% endtrans %}</h1>
|
||||||
<h3>Status:</h3>
|
{% if c.status %}
|
||||||
${h.literal(c.status)}
|
<div class="status">
|
||||||
|
<h3>{{ _('Status') }}:</h3>
|
||||||
|
{{ h.literal(c.status) }}
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div id="new-harvest-source"><a href="harvest/new">Add a harvesting source</a></div>
|
<div id="new-harvest-source"><a href="harvest/new">{% trans %}Add a harvesting source{% endtrans %}</a></div>
|
||||||
<py:choose>
|
|
||||||
<py:when test="c.sources">
|
{% if c.sources %}
|
||||||
<div id="show-inactive-sources-content">
|
<div id="show-inactive-sources-content">
|
||||||
<input type="checkbox" id="show-inactive-sources" />
|
|
||||||
<label for="show-inactive-sources">Show inactive sources</label>
|
<label for="show-inactive-sources">Show inactive sources</label>
|
||||||
|
<input type="checkbox" id="show-inactive-sources" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table id="harvest-sources" class="table table-bordered table-condensed ${'publishers' if c.publisher_auth else ''}" >
|
<table id="harvest-sources" class="table table-bordered table-condensed ${'publishers' if c.publisher_auth else ''}" >
|
||||||
<tr>
|
<tr>
|
||||||
<th class="action">View</th>
|
<th class="action">{{ _('View') }}</th>
|
||||||
<th class="action">Edit</th>
|
<th class="action">{{ _('Edit') }}</th>
|
||||||
<th class="action">Refresh</th>
|
<th class="action">{{ _('Refresh'}}</th>
|
||||||
<th>URL</th>
|
<th class="url">URL</th>
|
||||||
<th>Type</th>
|
{# TRANSLATORS: Appears in harvest source table for the type of harvester #}
|
||||||
<th>Active</th>
|
<th>{{ _('Type')}}</th>
|
||||||
<th>Statistics</th>
|
{# TRANSLATORS: Appears in harvest source table 'is Active' #}
|
||||||
<th>Next Harvest</th>
|
<th>{{ _('Active')}}</th>
|
||||||
<th>Created</th>
|
<th>{{ _('Statistics') }}</th>
|
||||||
|
{# TRANSLATORS: Appears in harvest source table 'date of next harvest #}
|
||||||
|
<th>{{ _('Next Harvest') }}</th>
|
||||||
|
{# TRANSLATORS: Appears in harvest source table date created #}
|
||||||
|
<th>{{ _('Created') }}</th>
|
||||||
</tr>
|
</tr>
|
||||||
<?python old_publisher = None ?>
|
{% set old_publisher = None %}
|
||||||
<py:for each="source in c.sources">
|
{% for source in c.sources %}
|
||||||
<tr class="publisher" py:if="c.publisher_auth and old_publisher != source['publisher_id']">
|
{% if c.publisher_auth and old_publisher != source['publisher_id'] %}
|
||||||
<py:choose>
|
<tr class="publisher">
|
||||||
<py:when test="source.get('publisher_title')">
|
{% if source.get('publisher_title') %}
|
||||||
<td colspan="9">${source['publisher_title']}</td>
|
<td colspan="9">{{ source['publisher_title'] }}</td>
|
||||||
</py:when>
|
{% else %}
|
||||||
<py:otherwise>
|
<td colspan="9">{{ source['publisher_id'] }}</td>
|
||||||
<td colspan="9">${source['publisher_id']}</td>
|
{% endif %}
|
||||||
</py:otherwise>
|
|
||||||
</py:choose>
|
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<?python old_publisher = source['publisher_id'] ?>
|
{% endif %}
|
||||||
<tr class="${'active' if source.active else 'inactive'}">
|
{% set old_publisher = source['publisher_id'] %}
|
||||||
<td><a href="harvest/${source.id}"><img src="ckanext/harvest/images/icons/source_view.png" alt="View" title="View" /></a></td>
|
<tr class="{{ 'active' if source.active else 'inactive' }}">
|
||||||
<td><a href="harvest/edit/${source.id}"><img src="ckanext/harvest/images/icons/source_edit.png" alt="Edit" title="Edit" /></a></td>
|
<td class="action"><a href="harvest/{{ source.id }}"><img src="ckanext/harvest/images/icons/source_view.png" alt="View" title="View" /></a></td>
|
||||||
<td><a href="harvest/refresh/${source.id}"><img src="ckanext/harvest/images/icons/source_refresh.png" alt="Refresh" title="Refresh" /></a></td>
|
<td class="action"><a href="harvest/edit/{{ source.id }}"><img src="ckanext/harvest/images/icons/source_edit.png" alt="Edit" title="Edit" /></a></td>
|
||||||
<?python
|
<td class="action"><a href="harvest/refresh/{{ source.id }}"><img src="ckanext/harvest/images/icons/source_refresh.png" alt="Refresh" title="Refresh" /></a></td>
|
||||||
from webhelpers.text import truncate
|
<td title="{{ source.url }}">{{ source.url | truncate(50) }}</td>
|
||||||
?>
|
<td>{{ source.type }}</td>
|
||||||
<td title="${source.url}">${truncate(source.url, 50)}</td>
|
<td class="state">{{ source.active }}</td>
|
||||||
<td>${source.type}</td>
|
{% if 'msg' in source.status %}
|
||||||
<td class="state">${source.active}</td>
|
<td>{{ source.status.msg }}</td>
|
||||||
<py:choose>
|
<td>{{ source.status.msg }}</td>
|
||||||
<py:when test="'msg' in source.status">
|
{% else %}
|
||||||
<td>${source.status.msg}</td>
|
<td>Datasets: <a href="harvest/{{ source.id }}#datasets">{{ source.status.overall_statistics.added }}</a><br/>
|
||||||
<td>${source.status.msg}</td>
|
Last errors: <a href="harvest/{{ source.id }}#errors">{{ source.status.last_harvest_statistics.errors }}</a></td>
|
||||||
</py:when>
|
<td>{{ source.status.next_harvest }}</td>
|
||||||
<py:otherwise>
|
{% endif %}
|
||||||
<td>Datasets: <a href="harvest/${source.id}#datasets">${source.status.overall_statistics.added}</a> <br/>
|
<td>{{ h.render_datetime(source.created) }}</td>
|
||||||
Last errors: <a href="harvest/${source.id}#errors">${source.status.last_harvest_statistics.errors}</a></td>
|
|
||||||
<td>${source.status.next_harvest}</td>
|
|
||||||
</py:otherwise>
|
|
||||||
</py:choose>
|
|
||||||
|
|
||||||
<td>${h.render_datetime(source.created)}</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</py:for>
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
</py:when>
|
{% else %}
|
||||||
<py:otherwise>
|
<div id="no-harvest-sources">{% trans %}No harvest sources defined yet.{% endtrans %}</div>
|
||||||
<div id="no-harvest-sources">No harvest sources defined yet.</div>
|
{% endif %}
|
||||||
</py:otherwise>
|
</div>
|
||||||
</py:choose>
|
</article>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
</div>
|
{% block sidebar %}{% endblock %}
|
||||||
</div>
|
|
||||||
<xi:include href="layout.html" />
|
|
||||||
</html>
|
|
||||||
|
|
|
@ -1,24 +1,16 @@
|
||||||
<html xmlns:py="http://genshi.edgewall.org/"
|
{% extends "source/admin_base.html" %}
|
||||||
xmlns:i18n="http://genshi.edgewall.org/i18n"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
py:strip="">
|
|
||||||
|
|
||||||
<py:def function="page_title">Edit - Harvest Source</py:def>
|
{% block subtitle %}{{ _('Edit harvest source') }}{% endblock %}
|
||||||
<py:def function="page_heading">Edit harvest source </py:def>
|
|
||||||
|
|
||||||
<py:def function="body_class">hide-sidebar</py:def>
|
|
||||||
<py:def function="optional_head">
|
|
||||||
<link rel="stylesheet" href="${g.site_url}/css/forms.css" type="text/css" media="screen, print" />
|
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="/ckanext/harvest/style.css" />
|
|
||||||
</py:def>
|
|
||||||
|
|
||||||
<div py:match="content">
|
|
||||||
<div class="harvest-content">
|
|
||||||
|
|
||||||
|
|
||||||
${h.literal(c.form)}
|
|
||||||
|
|
||||||
|
{% block primary_content_inner %}
|
||||||
|
<div class="module-content">
|
||||||
|
{% block form %}
|
||||||
|
{% if c.form %}
|
||||||
|
{# CKAN < 2.3 #}
|
||||||
|
{{ c.form | safe }}
|
||||||
|
{% else %}
|
||||||
|
{{- h.snippet(form_snippet, c=c, **form_vars) -}}
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{% endblock %}
|
||||||
<xi:include href="../layout.html" />
|
|
||||||
</html>
|
|
||||||
|
|
|
@ -1,23 +1,40 @@
|
||||||
<html xmlns:py="http://genshi.edgewall.org/"
|
{% extends "source/admin_base.html" %}
|
||||||
xmlns:i18n="http://genshi.edgewall.org/i18n"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
py:strip="">
|
|
||||||
|
|
||||||
<py:def function="page_title">New - Harvest Source</py:def>
|
{% block breadcrumb_content %}
|
||||||
<py:def function="page_heading">New harvest source </py:def>
|
<li>{{ h.nav_named_link(_('Harvest Sources'), '{0}_search'.format(c.dataset_type)) }}</li>
|
||||||
|
<li class="active">{{ h.nav_named_link(_('Create Harvest Source'), '{0}_new'.format(c.dataset_type)) }}</li>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
<py:def function="body_class">hide-sidebar</py:def>
|
{% block actions_content %}
|
||||||
<py:def function="optional_head">
|
{% endblock %}
|
||||||
<link rel="stylesheet" href="${g.site_url}/css/forms.css" type="text/css" media="screen, print" />
|
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="/ckanext/harvest/style.css" />
|
|
||||||
</py:def>
|
|
||||||
|
|
||||||
<div py:match="content">
|
{% block subtitle %}{{ _('Create harvest source') }}{% endblock %}
|
||||||
<div class="harvest-content">
|
|
||||||
|
|
||||||
${h.literal(c.form)}
|
|
||||||
|
|
||||||
|
{% block primary_content %}
|
||||||
|
<section class="module">
|
||||||
|
<div class="module-content">
|
||||||
|
{% if c.form %}
|
||||||
|
{# CKAN < 2.3 #}
|
||||||
|
{{ c.form | safe }}
|
||||||
|
{% else %}
|
||||||
|
{{- h.snippet(form_snippet, c=c, **form_vars) -}}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block secondary_content %}
|
||||||
|
<section class="module module-narrow">
|
||||||
|
<h2 class="module-heading"><i class="icon-large icon-info-sign"></i> {{ _('Harvest sources') }}</h2>
|
||||||
|
<div class="module-content">
|
||||||
|
<p>
|
||||||
|
{% trans %}
|
||||||
|
Harvest sources allow importing remote metadata into this catalog.
|
||||||
|
Remote sources can be other catalogs such as other CKAN instances, CSW
|
||||||
|
servers or Web Accessible Folders (WAF) (depending on the actual
|
||||||
|
harvesters enabled for this instance).
|
||||||
|
{% endtrans %}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<xi:include href="../layout.html" />
|
</section>
|
||||||
</html>
|
{% endblock %}
|
||||||
|
|
|
@ -1,89 +1,118 @@
|
||||||
<form id="source-new" class="ckan" method="post"
|
{% import 'macros/form.html' as form %}
|
||||||
py:attrs="{'class':'has-errors'} if errors else {}"
|
{% resource 'harvest-extra-field/main' %}
|
||||||
xmlns:i18n="http://genshi.edgewall.org/i18n"
|
|
||||||
xmlns:py="http://genshi.edgewall.org/"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
||||||
|
|
||||||
<div class="error-explanation" py:if="error_summary">
|
<form id="source-new" class="form-horizontal" method="post" >
|
||||||
<h2>Errors in form</h2>
|
|
||||||
<p>The form contains invalid entries:</p>
|
{% block errors %}{{ form.errors(error_summary) }}{% endblock %}
|
||||||
<ul>
|
|
||||||
<li py:for="key, error in error_summary.items()">${"%s: %s" % (key, error)}</li>
|
{% call form.input('url', id='field-url', label=_('URL'), value=data.url, error=errors.url, classes=['control-full', 'control-large']) %}
|
||||||
</ul>
|
<span class="info-block">
|
||||||
|
{{ _('This should include the http:// part of the URL') }}
|
||||||
|
</span>
|
||||||
|
{% endcall %}
|
||||||
|
|
||||||
|
{{ form.input('title', id='field-title', label=_('Title'), placeholder=_('eg. A descriptive title'), value=data.title, error=errors.title, classes=['control-full'], attrs={'data-module': 'slug-preview-target'}) }}
|
||||||
|
|
||||||
|
{% set prefix = 'harvest' %}
|
||||||
|
{% set domain = h.url_for('{0}_read'.format(c.dataset_type), id='', qualified=true) %}
|
||||||
|
{% set domain = domain|replace("http://", "")|replace("https://", "") %}
|
||||||
|
{% set attrs = {'data-module': 'slug-preview-slug', 'data-module-prefix': domain, 'data-module-placeholder': '<harvest-source>'} %}
|
||||||
|
|
||||||
|
{{ form.prepend('name', id='field-name', label=_('Name'), prepend=prefix, placeholder=_('eg. my-dataset'), value=data.name, error=errors.name, attrs=attrs) }}
|
||||||
|
|
||||||
|
{{ form.markdown('notes', id='field-notes', label=_('Description'), value=data.notes, error=errors.notes) }}
|
||||||
|
|
||||||
|
<div class="harvest-types control-group">
|
||||||
|
<label class="control-label">Source type</label>
|
||||||
|
<div class="controls">
|
||||||
|
{% for harvester in h.harvesters_info() %}
|
||||||
|
{% set checked = False %}
|
||||||
|
{# select first option if nothing in data #}
|
||||||
|
{% if data.source_type == harvester['name'] or (not data.source_type and loop.first) %}
|
||||||
|
{% set checked = True %}
|
||||||
|
{% endif %}
|
||||||
|
<label class="radio">
|
||||||
|
<input type="radio" name="source_type" value="{{ harvester['name'] }}" {{ "checked " if checked }} data-module="harvest-type-change">
|
||||||
|
{{ harvester['title'] }}
|
||||||
|
<i class="icon-question-sign muted" title="{{ harvester['description'] }}" data-toggle="tooltip"></i>
|
||||||
|
</label>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<fieldset>
|
{{ form.select('frequency', id='field-frequency', label=_('Update frequency'), options=h.harvest_frequencies(), selected=data.frequency, error=errors.frequency) }}
|
||||||
<legend>Details</legend>
|
|
||||||
<dl>
|
{% block extra_config %}
|
||||||
<dt><label class="field_req" for="url">URL for source of metadata *</label></dt>
|
{{ form.textarea('config', id='field-config', label=_('Configuration'), value=data.config, error=errors.config) }}
|
||||||
<dd><input id="url" name="url" size="80" type="text" value="${data.get('url', '')}" /></dd>
|
{% endblock extra_config %}
|
||||||
<dd class="field_error" py:if="errors.get('url', '')">${errors.get('url', '')}</dd>
|
|
||||||
<dd class="instructions basic">This should include the <tt>http://</tt> part of the URL</dd>
|
{# if we have a default group then this wants remembering #}
|
||||||
<dt><label class="field_req" for="type">Source Type *</label></dt>
|
{% if data.group_id %}
|
||||||
<dd>
|
<input type="hidden" name="groups__0__id" value="{{ data.group_id }}" />
|
||||||
<select id="type" name="type">
|
{% endif %}
|
||||||
<py:for each="harvester in harvesters">
|
|
||||||
<option value="${harvester.name}" py:attrs="{'selected': 'selected' if data.get('type', '') == harvester.name else None, 'data-config': harvester.show_config}" >${harvester.title}</option>
|
{% set dataset_is_draft = data.get('state', 'draft').startswith('draft') or data.get('state', 'none') == 'none' %}
|
||||||
</py:for>
|
{% set dataset_has_organization = data.owner_org or data.group_id %}
|
||||||
|
{% set organizations_available = h.organizations_available('create_dataset') %}
|
||||||
|
{% set user_is_sysadmin = h.check_access('sysadmin') %}
|
||||||
|
{% set show_organizations_selector = organizations_available and (user_is_sysadmin or dataset_is_draft) %}
|
||||||
|
|
||||||
|
{% if show_organizations_selector %}
|
||||||
|
{% set existing_org = data.owner_org %}
|
||||||
|
<div class="control-group">
|
||||||
|
<label for="field-organizations" class="control-label">{{ _('Organization') }}</label>
|
||||||
|
<div class="controls">
|
||||||
|
<select id="field-organizations" name="owner_org" data-module="autocomplete">
|
||||||
|
<option value="" {% if not selected_org and data.id %} selected="selected" {% endif %}>{{ _('No organization') }}</option>
|
||||||
|
{% for organization in organizations_available %}
|
||||||
|
{# get out first org from users list only if there is not an existing org #}
|
||||||
|
{% set selected_org = (existing_org and existing_org == organization.id) or (not existing_org and not data.id and organization.id == organizations_available[0].id) %}
|
||||||
|
<option value="{{ organization.id }}" {% if selected_org %} selected="selected" {% endif %}>{{ organization.name }}</option>
|
||||||
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</dd>
|
</div>
|
||||||
<dd class="field_error" py:if="errors.get('type', '')">${errors.get('type', '')}</dd>
|
</div>
|
||||||
<dd class="instructions basic">Which type of source does the URL above represent?
|
{% endif %}
|
||||||
<ul>
|
|
||||||
<py:for each="harvester in harvesters">
|
{% if data.get('id', None) and h.check_access('harvest_source_delete', {'id': data.id}) and data.get('state', 'none') == 'deleted' %}
|
||||||
<li><span class="harvester-title">${harvester.title}</span>: ${harvester.description}</li>
|
<div class="control-group">
|
||||||
</py:for>
|
<label for="field-state" class="control-label">{{ _('State') }}</label>
|
||||||
|
<div class="controls">
|
||||||
|
<select id="field-state" name="state">
|
||||||
|
<option value="active" {% if data.get('state', 'none') == 'active' %} selected="selected" {% endif %}>{{ _('Active') }}</option>
|
||||||
|
<option value="deleted" {% if data.get('state', 'none') == 'deleted' %} selected="selected" {% endif %}>{{ _('Deleted') }}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<p class="form-actions">
|
||||||
|
{% block delete_button %}
|
||||||
|
{% if data.get('id', None) and h.check_access('harvest_source_delete', {'id': data.id}) and not data.get('state', 'none') == 'deleted' %}
|
||||||
|
{% set locale_delete = h.dump_json({'content': _('This will flag the source as deleted but keep all its datasets and previous jobs. Are you sure you want to delete this harvest source?')}) %}
|
||||||
|
{% set locale_clear = h.dump_json({'content': _('Warning: Apart from deleting this source, this command will remove all its datasets, as well as all previous job reports. Are you sure you want to continue?')}) %}
|
||||||
|
<div class="dropdown btn-group">
|
||||||
|
<a href="#" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">
|
||||||
|
{{ _('Delete') }}
|
||||||
|
<span class="caret"></span>
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li>
|
||||||
|
<a href="{% url_for 'harvest_delete', id=data.name %}" data-module="confirm-action" data-module-i18n="{{ locale_delete }}">
|
||||||
|
{{ _('Delete source') }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{% url_for 'harvest_delete', id=data.name %}?clear=True" data-module="confirm-action" data-module-i18n="{{ locale_clear }}">
|
||||||
|
{{ _('Delete and clear source') }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</dd>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
<dt class="harvest-source-title"><label class="field_req" for="title">Title</label></dt>
|
<input id="save" name="save" value="Save" type="submit" class="btn btn-primary pull-right">
|
||||||
<dd class="harvest-source-title"><input id="title" name="title" size="80" type="text" value="${data.get('title', '')}" /></dd>
|
</p>
|
||||||
<dd class="harvest-source-title field_error" py:if="errors.get('title', '')">${errors.get('title', '')}</dd>
|
|
||||||
<dd class="harvest-source-title instructions basic">This will be shown as the datasets source.</dd>
|
|
||||||
|
|
||||||
<dt><label class="field_opt" for="description">Description</label></dt>
|
|
||||||
<dd><textarea id="description" name="description" cols="30" rows="2" style="height:75px">${data.get('description', '')}</textarea></dd>
|
|
||||||
<dd class="instructions basic">You can add your own notes here about what the URL above represents to remind you later.</dd>
|
|
||||||
|
|
||||||
<dt py:if="c.publisher_auth"><label class="field_opt" for="groups__${len(data.get('groups', []))}__id">Publisher</label></dt>
|
|
||||||
<dd py:if="c.publisher_auth and c.groups">
|
|
||||||
<select id="publisher_id" name="publisher_id">
|
|
||||||
<py:for each="group in c.groups">
|
|
||||||
<option value="${group['id']}" py:attrs="{'selected': 'selected' if group['id'] == data.get('publisher_id',None) else None}">${group['title']}</option>
|
|
||||||
</py:for>
|
|
||||||
</select>
|
|
||||||
</dd>
|
|
||||||
<dd py:if="c.publisher_auth and not c.groups"><em>Cannot add any publishers.</em></dd>
|
|
||||||
|
|
||||||
|
|
||||||
<dt class="harvest-source-config"><label class="field_opt" for="config">Configuration</label></dt>
|
|
||||||
<dd class="harvest-source-config"><textarea id="config" name="config" cols="30" rows="2" style="height:75px">${data.get('config', '')}</textarea></dd>
|
|
||||||
|
|
||||||
<dt><label class="field_opt" for="active">State</label></dt>
|
|
||||||
<dd>
|
|
||||||
<select id="active" name="active">
|
|
||||||
<option py:attrs="{'selected': 'selected' if data.get('active') or not 'active' in data else None}" value="True">active</option>
|
|
||||||
<option py:attrs="{'selected': 'selected' if 'active' in data and not data.get('active') else None}" value="False">withdrawn</option>
|
|
||||||
</select>
|
|
||||||
<py:if test="data.get('active') or not 'active' in data">
|
|
||||||
<div>This harvest source is <span class="source-state-active">Active</span></div>
|
|
||||||
</py:if>
|
|
||||||
<py:if test="'active' in data and not data.get('active')">
|
|
||||||
<div>This harvest source is <span class="source-state-inactive">Withdrawn</span></div>
|
|
||||||
</py:if>
|
|
||||||
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</fieldset>
|
|
||||||
<input id="save" name="save" value="Save" type="submit" class="btn"/> or <a href="/harvest">Return to the harvest sources list</a>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function() {
|
|
||||||
$("#type").change(function(){
|
|
||||||
var show_config = ($("#type option:selected").attr("data-config") == "True");
|
|
||||||
if (!show_config) $("#config").val("");
|
|
||||||
$("#config").attr("disabled", !show_config);
|
|
||||||
});
|
|
||||||
$("#type").trigger("change");
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -1,149 +1,8 @@
|
||||||
<html xmlns:py="http://genshi.edgewall.org/"
|
{% extends "source/read_base.html" %}
|
||||||
xmlns:i18n="http://genshi.edgewall.org/i18n"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
py:strip="">
|
|
||||||
|
|
||||||
<py:def function="page_title">Harvest Source Details</py:def>
|
{% block primary_content_inner %}
|
||||||
<py:def function="page_heading">Harvest Source Details</py:def>
|
<section class="module-content">
|
||||||
|
<h1 class="hide-heading">{{ _('Datasets') }}</h1>
|
||||||
<py:def function="optional_head">
|
{{ h.package_list_for_source(source.id) }}
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="/ckanext/harvest/style.css" />
|
</section>
|
||||||
</py:def>
|
{% endblock %}
|
||||||
|
|
||||||
<div py:match="content">
|
|
||||||
<div class="harvest-content">
|
|
||||||
<py:if test="c.source">
|
|
||||||
<div id="harvest-source-actions">
|
|
||||||
<img src="/ckanext/harvest/images/icons/source_edit.png" alt="Edit" /><a href="/harvest/edit/${c.source.id}">Edit source</a> |
|
|
||||||
<img src="/ckanext/harvest/images/icons/source_refresh.png" alt="Refresh" /><a href="/harvest/refresh/${c.source.id}">Refresh source</a> |
|
|
||||||
<a href="/harvest">Sources list</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div py:if="not c.source.active" class="alert alert-block">NB: This Harvest Source is Withdrawn. Therefore the Gemini XML will not be harvested again. However, any metadata that was previously harvested, remains in the catalogue.</div>
|
|
||||||
<table id="harvest-source-details" class="table table-bordered table-condensed">
|
|
||||||
<tr>
|
|
||||||
<th>ID</th>
|
|
||||||
<td>${c.source.id}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>URL</th>
|
|
||||||
<td>${c.source.url}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Type</th>
|
|
||||||
<td>${c.source.type}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Withdrawn</th>
|
|
||||||
<td>${not c.source.active}</td>
|
|
||||||
</tr>
|
|
||||||
<tr py:if="c.source.title">
|
|
||||||
<th>Title</th>
|
|
||||||
<td>${c.source.title}</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th>Description</th>
|
|
||||||
<td>${c.source.description}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Configuration</th>
|
|
||||||
<py:if test="c.source.config">
|
|
||||||
<td>${c.source.config}</td>
|
|
||||||
</py:if>
|
|
||||||
<py:if test="not c.source.config">
|
|
||||||
<td>-</td>
|
|
||||||
</py:if>
|
|
||||||
</tr>
|
|
||||||
<tr py:if="c.publisher_auth">
|
|
||||||
<th>User</th>
|
|
||||||
<td>${c.source.user_id}</td>
|
|
||||||
</tr>
|
|
||||||
<tr py:if="c.publisher_auth">
|
|
||||||
<th>Publisher</th>
|
|
||||||
<py:if test="c.source.publisher_title">
|
|
||||||
<td>${c.source.publisher_title}</td>
|
|
||||||
</py:if>
|
|
||||||
<py:if test="not c.source.publisher_title">
|
|
||||||
<td>${c.source.publisher_id}</td>
|
|
||||||
</py:if>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Created</th>
|
|
||||||
<td>${c.source.created}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Total jobs</th>
|
|
||||||
<td>${c.source.status.job_count}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Status</th>
|
|
||||||
<td>
|
|
||||||
<a name="errors"/>Last Harvest Errors: ${c.source.status.last_harvest_statistics.errors}<br/>
|
|
||||||
<py:choose>
|
|
||||||
<py:when test="len(c.source.status.last_harvest_errors.gather)>0">
|
|
||||||
<i>Gathering errors</i>
|
|
||||||
<ul>
|
|
||||||
<li py:for="error in c.source.status.last_harvest_errors.gather">
|
|
||||||
<?python
|
|
||||||
lines = error.split('\n')
|
|
||||||
?>
|
|
||||||
<div py:for="line in lines">${line}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</py:when>
|
|
||||||
</py:choose>
|
|
||||||
<py:choose>
|
|
||||||
<py:when test="len(c.source.status.last_harvest_errors.object)>0">
|
|
||||||
<i>Object errors</i>
|
|
||||||
<ul>
|
|
||||||
<li py:for="error in c.source.status.last_harvest_errors.object">
|
|
||||||
<div>GUID <a href="${g.site_url}/harvest/object/${error.object_id}">${error.object_guid}</a></div>
|
|
||||||
<?python
|
|
||||||
lines = error['message'].split('\n')
|
|
||||||
?>
|
|
||||||
<div py:for="line in lines">${line}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</py:when>
|
|
||||||
</py:choose>
|
|
||||||
|
|
||||||
Last Harvest Added: ${c.source.status.last_harvest_statistics.added}<br/>
|
|
||||||
Last Harvest Updated: ${c.source.status.last_harvest_statistics.updated}<br/>
|
|
||||||
Last Harvest: ${c.source.status.last_harvest_request} <br/>
|
|
||||||
Next Harvest: ${c.source.status.next_harvest}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Total Errors</th>
|
|
||||||
<td>${c.source.status.overall_statistics.errors}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Total Datasets</th>
|
|
||||||
<td>${c.source.status.overall_statistics.added}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>Datasets</th>
|
|
||||||
<td>
|
|
||||||
<a name="datasets"/>
|
|
||||||
<div>There could be a 10 minutes delay before these datasets (or changes to them) appear on
|
|
||||||
the site or on search results.</div>
|
|
||||||
|
|
||||||
<p i18n:msg="item_count">There are <strong>${c.page.item_count}</strong> datasets.</p>
|
|
||||||
|
|
||||||
${c.page.pager()}
|
|
||||||
<py:for each="item in c.page.items">
|
|
||||||
<div>
|
|
||||||
<a href="/dataset/${item}">${item}</a>
|
|
||||||
</div>
|
|
||||||
</py:for>
|
|
||||||
${c.page.pager()}
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</py:if>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<xi:include href="../layout.html" />
|
|
||||||
</html>
|
|
||||||
|
|
|
@ -1,91 +0,0 @@
|
||||||
{% extends "page.html" %}
|
|
||||||
|
|
||||||
{% block title %}{{ _('Harvesting Sources') }} - {{ super() }}{% endblock %}
|
|
||||||
|
|
||||||
{% block breadcrumb_content %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block styles %}
|
|
||||||
{{ super() }}
|
|
||||||
<link type="text/css" rel="stylesheet" media="all" href="/ckanext/harvest/style.css" />
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block scripts %}
|
|
||||||
{{ super() }}
|
|
||||||
<script>$("#show-inactive-sources").click(function(){$("#harvest-sources .inactive").toggle()});</script>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block primary %}
|
|
||||||
<article class="module">
|
|
||||||
<div class="module-content">
|
|
||||||
<h1>{% trans %}Harvesting Sources{% endtrans %}</h1>
|
|
||||||
{% if c.status %}
|
|
||||||
<div class="status">
|
|
||||||
<h3>{{ _('Status') }}:</h3>
|
|
||||||
{{ h.literal(c.status) }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div id="new-harvest-source"><a href="harvest/new">{% trans %}Add a harvesting source{% endtrans %}</a></div>
|
|
||||||
|
|
||||||
{% if c.sources %}
|
|
||||||
<div id="show-inactive-sources-content">
|
|
||||||
<label for="show-inactive-sources">Show inactive sources</label>
|
|
||||||
<input type="checkbox" id="show-inactive-sources" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<table id="harvest-sources" class="table table-bordered table-condensed ${'publishers' if c.publisher_auth else ''}" >
|
|
||||||
<tr>
|
|
||||||
<th class="action">{{ _('View') }}</th>
|
|
||||||
<th class="action">{{ _('Edit') }}</th>
|
|
||||||
<th class="action">{{ _('Refresh'}}</th>
|
|
||||||
<th class="url">URL</th>
|
|
||||||
{# TRANSLATORS: Appears in harvest source table for the type of harvester #}
|
|
||||||
<th>{{ _('Type')}}</th>
|
|
||||||
{# TRANSLATORS: Appears in harvest source table 'is Active' #}
|
|
||||||
<th>{{ _('Active')}}</th>
|
|
||||||
<th>{{ _('Statistics') }}</th>
|
|
||||||
{# TRANSLATORS: Appears in harvest source table 'date of next harvest #}
|
|
||||||
<th>{{ _('Next Harvest') }}</th>
|
|
||||||
{# TRANSLATORS: Appears in harvest source table date created #}
|
|
||||||
<th>{{ _('Created') }}</th>
|
|
||||||
</tr>
|
|
||||||
{% set old_publisher = None %}
|
|
||||||
{% for source in c.sources %}
|
|
||||||
{% if c.publisher_auth and old_publisher != source['publisher_id'] %}
|
|
||||||
<tr class="publisher">
|
|
||||||
{% if source.get('publisher_title') %}
|
|
||||||
<td colspan="9">{{ source['publisher_title'] }}</td>
|
|
||||||
{% else %}
|
|
||||||
<td colspan="9">{{ source['publisher_id'] }}</td>
|
|
||||||
{% endif %}
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
{% set old_publisher = source['publisher_id'] %}
|
|
||||||
<tr class="{{ 'active' if source.active else 'inactive' }}">
|
|
||||||
<td class="action"><a href="harvest/{{ source.id }}"><img src="ckanext/harvest/images/icons/source_view.png" alt="View" title="View" /></a></td>
|
|
||||||
<td class="action"><a href="harvest/edit/{{ source.id }}"><img src="ckanext/harvest/images/icons/source_edit.png" alt="Edit" title="Edit" /></a></td>
|
|
||||||
<td class="action"><a href="harvest/refresh/{{ source.id }}"><img src="ckanext/harvest/images/icons/source_refresh.png" alt="Refresh" title="Refresh" /></a></td>
|
|
||||||
<td title="{{ source.url }}">{{ source.url | truncate(50) }}</td>
|
|
||||||
<td>{{ source.type }}</td>
|
|
||||||
<td class="state">{{ source.active }}</td>
|
|
||||||
{% if 'msg' in source.status %}
|
|
||||||
<td>{{ source.status.msg }}</td>
|
|
||||||
<td>{{ source.status.msg }}</td>
|
|
||||||
{% else %}
|
|
||||||
<td>Datasets: <a href="harvest/{{ source.id }}#datasets">{{ source.status.overall_statistics.added }}</a><br/>
|
|
||||||
Last errors: <a href="harvest/{{ source.id }}#errors">{{ source.status.last_harvest_statistics.errors }}</a></td>
|
|
||||||
<td>{{ source.status.next_harvest }}</td>
|
|
||||||
{% endif %}
|
|
||||||
<td>{{ h.render_datetime(source.created) }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% else %}
|
|
||||||
<div id="no-harvest-sources">{% trans %}No harvest sources defined yet.{% endtrans %}</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block sidebar %}{% endblock %}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{% extends "source/admin_base.html" %}
|
|
||||||
|
|
||||||
{% block subtitle %}{{ _('Edit harvest source') }}{% endblock %}
|
|
||||||
|
|
||||||
{% block primary_content_inner %}
|
|
||||||
<div class="module-content">
|
|
||||||
{% block form %}
|
|
||||||
{% if c.form %}
|
|
||||||
{# CKAN < 2.3 #}
|
|
||||||
{{ c.form | safe }}
|
|
||||||
{% else %}
|
|
||||||
{{- h.snippet(form_snippet, c=c, **form_vars) -}}
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
|
@ -1,42 +0,0 @@
|
||||||
{% extends "source/admin_base.html" %}
|
|
||||||
|
|
||||||
{% block breadcrumb_content %}
|
|
||||||
<li>{{ h.nav_named_link(_('Harvest Sources'), '{0}_search'.format(c.dataset_type)) }}</li>
|
|
||||||
<li class="active">{{ h.nav_named_link(_('Create Harvest Source'), '{0}_new'.format(c.dataset_type)) }}</li>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block actions_content %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block subtitle %}{{ _('Create harvest source') }}{% endblock %}
|
|
||||||
|
|
||||||
{% block primary_content %}
|
|
||||||
<section class="module">
|
|
||||||
<div class="module-content">
|
|
||||||
{% block form %}
|
|
||||||
{% if c.form %}
|
|
||||||
{# CKAN < 2.3 #}
|
|
||||||
{{ c.form | safe }}
|
|
||||||
{% else %}
|
|
||||||
{{- h.snippet(form_snippet, c=c, **form_vars) -}}
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block secondary_content %}
|
|
||||||
<section class="module module-narrow">
|
|
||||||
<h2 class="module-heading"><i class="icon-large icon-info-sign"></i> {{ _('Harvest sources') }}</h2>
|
|
||||||
<div class="module-content">
|
|
||||||
<p>
|
|
||||||
{% trans %}
|
|
||||||
Harvest sources allow importing remote metadata into this catalog.
|
|
||||||
Remote sources can be other catalogs such as other CKAN instances, CSW
|
|
||||||
servers or Web Accessible Folders (WAF) (depending on the actual
|
|
||||||
harvesters enabled for this instance).
|
|
||||||
{% endtrans %}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
{% endblock %}
|
|
|
@ -1,118 +0,0 @@
|
||||||
{% import 'macros/form.html' as form %}
|
|
||||||
{% resource 'harvest-extra-field/main' %}
|
|
||||||
|
|
||||||
<form id="source-new" class="form-horizontal" method="post" >
|
|
||||||
|
|
||||||
{% block errors %}{{ form.errors(error_summary) }}{% endblock %}
|
|
||||||
|
|
||||||
{% call form.input('url', id='field-url', label=_('URL'), value=data.url, error=errors.url, classes=['control-full', 'control-large']) %}
|
|
||||||
<span class="info-block">
|
|
||||||
{{ _('This should include the http:// part of the URL') }}
|
|
||||||
</span>
|
|
||||||
{% endcall %}
|
|
||||||
|
|
||||||
{{ form.input('title', id='field-title', label=_('Title'), placeholder=_('eg. A descriptive title'), value=data.title, error=errors.title, classes=['control-full'], attrs={'data-module': 'slug-preview-target'}) }}
|
|
||||||
|
|
||||||
{% set prefix = 'harvest' %}
|
|
||||||
{% set domain = h.url_for('{0}_read'.format(c.dataset_type), id='', qualified=true) %}
|
|
||||||
{% set domain = domain|replace("http://", "")|replace("https://", "") %}
|
|
||||||
{% set attrs = {'data-module': 'slug-preview-slug', 'data-module-prefix': domain, 'data-module-placeholder': '<harvest-source>'} %}
|
|
||||||
|
|
||||||
{{ form.prepend('name', id='field-name', label=_('Name'), prepend=prefix, placeholder=_('eg. my-dataset'), value=data.name, error=errors.name, attrs=attrs) }}
|
|
||||||
|
|
||||||
{{ form.markdown('notes', id='field-notes', label=_('Description'), value=data.notes, error=errors.notes) }}
|
|
||||||
|
|
||||||
<div class="harvest-types control-group">
|
|
||||||
<label class="control-label">Source type</label>
|
|
||||||
<div class="controls">
|
|
||||||
{% for harvester in h.harvesters_info() %}
|
|
||||||
{% set checked = False %}
|
|
||||||
{# select first option if nothing in data #}
|
|
||||||
{% if data.source_type == harvester['name'] or (not data.source_type and loop.first) %}
|
|
||||||
{% set checked = True %}
|
|
||||||
{% endif %}
|
|
||||||
<label class="radio">
|
|
||||||
<input type="radio" name="source_type" value="{{ harvester['name'] }}" {{ "checked " if checked }} data-module="harvest-type-change">
|
|
||||||
{{ harvester['title'] }}
|
|
||||||
<i class="icon-question-sign muted" title="{{ harvester['description'] }}" data-toggle="tooltip"></i>
|
|
||||||
</label>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{ form.select('frequency', id='field-frequency', label=_('Update frequency'), options=h.harvest_frequencies(), selected=data.frequency, error=errors.frequency) }}
|
|
||||||
|
|
||||||
{% block extra_config %}
|
|
||||||
{{ form.textarea('config', id='field-config', label=_('Configuration'), value=data.config, error=errors.config) }}
|
|
||||||
{% endblock extra_config %}
|
|
||||||
|
|
||||||
{# if we have a default group then this wants remembering #}
|
|
||||||
{% if data.group_id %}
|
|
||||||
<input type="hidden" name="groups__0__id" value="{{ data.group_id }}" />
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% set dataset_is_draft = data.get('state', 'draft').startswith('draft') or data.get('state', 'none') == 'none' %}
|
|
||||||
{% set dataset_has_organization = data.owner_org or data.group_id %}
|
|
||||||
{% set organizations_available = h.organizations_available('create_dataset') %}
|
|
||||||
{% set user_is_sysadmin = h.check_access('sysadmin') %}
|
|
||||||
{% set show_organizations_selector = organizations_available and (user_is_sysadmin or dataset_is_draft) %}
|
|
||||||
|
|
||||||
{% if show_organizations_selector %}
|
|
||||||
{% set existing_org = data.owner_org %}
|
|
||||||
<div class="control-group">
|
|
||||||
<label for="field-organizations" class="control-label">{{ _('Organization') }}</label>
|
|
||||||
<div class="controls">
|
|
||||||
<select id="field-organizations" name="owner_org" data-module="autocomplete">
|
|
||||||
<option value="" {% if not selected_org and data.id %} selected="selected" {% endif %}>{{ _('No organization') }}</option>
|
|
||||||
{% for organization in organizations_available %}
|
|
||||||
{# get out first org from users list only if there is not an existing org #}
|
|
||||||
{% set selected_org = (existing_org and existing_org == organization.id) or (not existing_org and not data.id and organization.id == organizations_available[0].id) %}
|
|
||||||
<option value="{{ organization.id }}" {% if selected_org %} selected="selected" {% endif %}>{{ organization.name }}</option>
|
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if data.get('id', None) and h.check_access('harvest_source_delete', {'id': data.id}) and data.get('state', 'none') == 'deleted' %}
|
|
||||||
<div class="control-group">
|
|
||||||
<label for="field-state" class="control-label">{{ _('State') }}</label>
|
|
||||||
<div class="controls">
|
|
||||||
<select id="field-state" name="state">
|
|
||||||
<option value="active" {% if data.get('state', 'none') == 'active' %} selected="selected" {% endif %}>{{ _('Active') }}</option>
|
|
||||||
<option value="deleted" {% if data.get('state', 'none') == 'deleted' %} selected="selected" {% endif %}>{{ _('Deleted') }}</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<p class="form-actions">
|
|
||||||
{% block delete_button %}
|
|
||||||
{% if data.get('id', None) and h.check_access('harvest_source_delete', {'id': data.id}) and not data.get('state', 'none') == 'deleted' %}
|
|
||||||
{% set locale_delete = h.dump_json({'content': _('This will flag the source as deleted but keep all its datasets and previous jobs. Are you sure you want to delete this harvest source?')}) %}
|
|
||||||
{% set locale_clear = h.dump_json({'content': _('Warning: Apart from deleting this source, this command will remove all its datasets, as well as all previous job reports. Are you sure you want to continue?')}) %}
|
|
||||||
<div class="dropdown btn-group">
|
|
||||||
<a href="#" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">
|
|
||||||
{{ _('Delete') }}
|
|
||||||
<span class="caret"></span>
|
|
||||||
</a>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
<li>
|
|
||||||
<a href="{% url_for 'harvest_delete', id=data.name %}" data-module="confirm-action" data-module-i18n="{{ locale_delete }}">
|
|
||||||
{{ _('Delete source') }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{% url_for 'harvest_delete', id=data.name %}?clear=True" data-module="confirm-action" data-module-i18n="{{ locale_clear }}">
|
|
||||||
{{ _('Delete and clear source') }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
<input id="save" name="save" value="Save" type="submit" class="btn btn-primary pull-right">
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</form>
|
|
|
@ -1,8 +0,0 @@
|
||||||
{% extends "source/read_base.html" %}
|
|
||||||
|
|
||||||
{% block primary_content_inner %}
|
|
||||||
<section class="module-content">
|
|
||||||
<h1 class="hide-heading">{{ _('Datasets') }}</h1>
|
|
||||||
{{ h.package_list_for_source(source.id) }}
|
|
||||||
</section>
|
|
||||||
{% endblock %}
|
|
2
setup.py
2
setup.py
|
@ -46,7 +46,7 @@ setup(
|
||||||
'ckanext': [
|
'ckanext': [
|
||||||
('**.py', 'python', None),
|
('**.py', 'python', None),
|
||||||
('**.js', 'javascript', None),
|
('**.js', 'javascript', None),
|
||||||
('**/templates_new/**.html', 'ckan', None),
|
('**/templates/**.html', 'ckan', None),
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,7 +17,7 @@ use = config:../ckan/test-core.ini
|
||||||
# run fast.
|
# run fast.
|
||||||
ckan.plugins = harvest ckan_harvester test_harvester test_action_harvester
|
ckan.plugins = harvest ckan_harvester test_harvester test_action_harvester
|
||||||
ckan.harvest.mq.type = redis
|
ckan.harvest.mq.type = redis
|
||||||
ckan.legacy_templates = no
|
ckan.legacy_templates = false
|
||||||
# NB: other test configuration should go in test-core.ini, which is
|
# NB: other test configuration should go in test-core.ini, which is
|
||||||
# what the postgres tests use.
|
# what the postgres tests use.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue