geonode.harvesting.admin ======================== .. py:module:: geonode.harvesting.admin Attributes ---------- .. autoapisummary:: geonode.harvesting.admin.logger Classes ------- .. autoapisummary:: geonode.harvesting.admin.HarvesterAdmin geonode.harvesting.admin.AsynchronousHarvestingSessionAdmin geonode.harvesting.admin.HarvestableResourceAdmin Functions --------- .. autoapisummary:: geonode.harvesting.admin._worker_config_changed Module Contents --------------- .. py:data:: logger .. py:class:: HarvesterAdmin Bases: :py:obj:`django.contrib.admin.ModelAdmin` .. py:attribute:: form .. py:attribute:: list_display :value: ('id', 'status', 'name', 'scheduling_enabled', 'remote_available',... .. py:attribute:: list_filter :value: ('status',) .. py:attribute:: readonly_fields :value: ('status', 'remote_available', 'last_checked_availability',... .. py:attribute:: list_editable :value: ('scheduling_enabled',) .. py:attribute:: actions :value: ['update_harvester_availability', 'initiate_update_harvestable_resources',... .. py:method:: save_model(request, harvester: geonode.harvesting.models.Harvester, form, change) .. py:method:: get_form(request, obj=None, change=False, **kwargs) .. py:method:: update_harvester_availability(request, queryset) .. py:method:: initiate_update_harvestable_resources(request, queryset) .. py:method:: initiate_abort_update_harvestable_resources(request, queryset) .. py:method:: initiate_perform_harvesting(request, queryset) .. py:method:: initiate_abort_perform_harvesting(request, queryset) .. py:method:: reset_harvester_status(request, queryset) .. py:method:: get_time_until_next_availability_update(harvester: geonode.harvesting.models.Harvester) .. py:method:: get_time_until_next_refresh(harvester: geonode.harvesting.models.Harvester) .. py:method:: get_time_until_next_harvesting(harvester: geonode.harvesting.models.Harvester) .. py:method:: get_num_harvestable_resources(harvester: geonode.harvesting.models.Harvester) .. py:method:: get_worker_specific_configuration(harvester: geonode.harvesting.models.Harvester) .. py:method:: show_link_to_selected_harvestable_resources(harvester: geonode.harvesting.models.Harvester) .. py:method:: show_link_to_latest_harvesting_session(harvester: geonode.harvesting.models.Harvester) .. py:method:: show_link_to_latest_refresh_session(harvester: geonode.harvesting.models.Harvester) .. py:class:: AsynchronousHarvestingSessionAdmin Bases: :py:obj:`django.contrib.admin.ModelAdmin` .. py:attribute:: list_display :value: ('id', 'session_type', 'status', 'started', 'updated', 'ended', 'harvester',... .. py:attribute:: readonly_fields :value: ('id', 'session_type', 'status', 'started', 'updated', 'ended', 'harvester',... .. py:method:: has_add_permission(request) .. py:class:: HarvestableResourceAdmin Bases: :py:obj:`django.contrib.admin.ModelAdmin` .. py:attribute:: list_display :value: ('id', 'last_refreshed', 'last_harvesting_succeeded', 'last_harvested', 'unique_identifier',... .. py:attribute:: readonly_fields :value: ('unique_identifier', 'title', 'harvester', 'last_updated', 'last_refreshed', 'last_harvested',... .. py:attribute:: list_filter :value: ('harvester', 'should_be_harvested', 'last_updated', 'remote_resource_type', 'last_harvesting_succeeded') .. py:attribute:: search_fields :value: ('title',) .. py:attribute:: list_editable :value: ('should_be_harvested',) .. py:attribute:: actions :value: ['toggle_should_be_harvested', 'initiate_harvest_selected_resources'] .. py:method:: delete_queryset(request, queryset) Re-implemented to assure individual instance's `delete()` method is called. `HarvestableResource.delete()` has some custom logic to check whether the related GeoNode resource should also be deleted. Therefore we don't want Django to potentially optimize this into performing the deletion on the DB, as that would not run our custom logic. Further info: https://docs.djangoproject.com/en/3.2/topics/db/queries/#deleting-objects .. py:method:: toggle_should_be_harvested(request, queryset) .. py:method:: initiate_harvest_selected_resources(request, queryset) .. py:method:: show_link_to_harvester(harvestable_resource: geonode.harvesting.models.HarvestableResource) .. py:function:: _worker_config_changed(form) -> bool