| c |
<flask.g of 'ckan.config.middleware.flask_app'> |
| data |
{'author': None, 'author_email': None, 'creator_user_id': '64e47517-dce0-4a13-9ab7-ef1cfcd1d892', 'doi': '10.15493/NRF.SAIAB.20232511', 'featured': 'false', 'id': 'ed816ac3-0461-4c85-b09f-16b54b0ad3f3', 'isopen': False, 'license_id': None, 'license_title': None, 'lineage_statement': 'This dataset consists of XYZ points below the sea surface and relative to the mean sea level. This data was collected under the ACEP SMART ZONES MPA project (2021 – 2023) using the ACEP Geophysics and Mapping Platform.', 'maintainer': None, 'maintainer_email': None, 'metadata_created': '2025-09-11T14:14:08.850568', 'metadata_date': '2023-01-27T00:00', 'metadata_modified': '2025-09-11T14:14:58.492759', 'metadata_thumbnail': '', 'name': 'bathymetry_data_collected_from_zinkwazi_november_2021', 'notes': "This dataset forms part of the South African Institute for Aquatic Biodiversity (SAIAB)'s collection of Bathymetry data for the African Coelacanth Ecosystem Programme (ACEP) Smart Zones MPA. This multi-disciplinary study will begin at the start of the implementation of two new MPAs (uThukela MPA and Protea Banks MPA, both proclaimed in 2019), and will generate the relevant data needed to underpin an evidence-based approach to adaptive management of the MPAs, within a “SMART” framework. This framework defines specific objectives for the different MPA zones; develops measurable indicators of success for each zone; sets achievable goals given the limited resources available for planning and management; ensures that the research findings are relevant (to both biodiversity and human stakeholders). This is a rare time-sensitive opportunity to conduct baseline surveys of the geology, benthic biodiversity (sessile and mobile species), reef-associated ichthyoplankton and mero-zooplankton and fish communities of mesophotic (40-150m) soft-coral and sponge-dominated reefs and submarine habitats located in three different management zones at initiation of management of two brand new MPAs, against which long-term monitoring data can be compared to assess the effectiveness of the MPAs in achieving their objectives. The balanced sampling design is such that it will also initiate a “natural experiment” that over time will investigate the effect of no-take zones on fish diversity and abundance, benthic community structure, and trophic complexity. This will also enable the determination of the value of the MPA for fisheries sustainability support and resilience to disturbances caused by extrinsic factors such as pollution or climate change. Additionally, this study will assess whether the zonation plan provides for representation of all reef and canyon types within each zone or if there is unbalanced coverage for certain reefs and in certain zones. This is important to assess at the initiation of the MPA, especially to ensure that the interpretation of monitoring results in future, which compare ecosystems and fish on reefs and canyons in the mesophotic zone are not flawed by natural differences from the outset due to the selection of zone boundaries. This dataset consists of XYZ points below the sea surface and relative to the mean sea level. This data was collected under the ACEP SMART ZONES MPA project (2021 – 2023) using the ACEP Geophysics and Mapping Platform.", 'num_resources': 1, 'num_tags': 6, 'organization': {'id': '406569f5-01c7-4e26-93e8-f8b40b874dcc', 'name': 'south-african-institute-for-aquatic-biodiversity-saiab', 'title': 'NRF-SAIAB', 'type': 'organization', 'description': 'The South African Institute for Aquatic Biodiversity (NRF-SAIAB) is a national facility of the National Research Foundation (NRF). The NRF-SAIAB contributes to two National Operation Phakisa Labs through which South Africa has identified the potential to develop the Biodiversity Economy and the Blue Economy.', 'image_url': '2025-09-11-081630.579961SouthAfricanInstituteforAquaticBiodiversitylogo.svg.png', 'created': '2025-09-11T08:16:30.612011', 'is_organization': True, 'approval_status': 'approved', 'state': 'active'}, 'owner_org': '406569f5-01c7-4e26-93e8-f8b40b874dcc', 'private': False, 'reference_system_additional_info': '', 'spatial': '{"type": "Polygon", "coordinates": [[[31.577445, -29.426584], [31.52826, -29.426584], [31.52826, -29.372258], [31.577445, -29.372258], [31.577445, -29.426584]]]}', 'state': 'active', 'title': 'bathymetry_data_collected_from_zinkwazi_november_2021', 'type': 'dataset', 'url': None, 'version': None, 'contact': [{'electronic_mail_address': 'T.Wanda@saiab.nrf.ac.za', 'individual_name': 'Thamsanqa Wanda', 'position_name': 'Geologist', 'role': 'point_of_contact'}], 'contact_information': [{'facsimile': '', 'voice': ''}], 'dataset_reference_date': [{'reference': '2023-01-27T00:00', 'reference_date_type': 1}], 'distribution_format': [{'name': 'Electronic metadata record', 'version': '1.1'}], 'metadata_language_and_character_set': [{'dataset_character_set': 'utf-8', 'dataset_language': 'English', 'metadata_character_set': 'utf-8', 'metadata_language': 'English'}], 'online_resource': [{'application_profile': '', 'description': 2, 'linkage': 'http://doi.org/10.15493/NRF.SAIAB.20232511', 'name': 'bathymetry_data_collected_from_zinkwazi_november_2021'}], 'resources': [{'cache_last_updated': None, 'cache_url': None, 'created': '2025-09-11T14:14:58.221011', 'description': '', 'format': '', 'format_version': '', 'hash': '', 'id': 'a7c104c4-a7b7-4a0f-9ddc-3e2daf60f617', 'last_modified': None, 'metadata_modified': '2025-09-11T14:14:58.202309', 'mimetype': None, 'mimetype_inner': None, 'name': 'Bathymetry data collected from Zinkwazi, November 2021', 'package_id': 'ed816ac3-0461-4c85-b09f-16b54b0ad3f3', 'position': 0, 'resource_type': 'other', 'size': None, 'state': 'active', 'upload_mode': 'single', 'url': 'https://nrfsaiab.wixsite.com/gemapocean/bathymetry', 'url_type': None, 'has_views': False}], 'responsible_party': [{'electronic_mail_address': '', 'individual_name': 'South African Institute for Aquatic Biodiversity ', 'position_name': 'SAIAB', 'role': 'owner', 'website': 'https://nrfsaiab.wixsite.com/gemapocean'}], 'responsible_party_contact_address': [{'administrative_area': '', 'city': 'Makhanda', 'delivery_point': 'Somerset Street', 'postal_code': '6139'}], 'responsible_party_contact_info': [{'facsimile': '', 'voice': ''}], 'spatial_parameters': [{'equivalent_scale': 'N/A', 'spatial_reference_system': 'EPSG: 4326', 'spatial_representation_type': '001'}], 'tags': [{'display_name': 'Oceans', 'id': '2547e672-a968-4048-814b-29a682525254', 'name': 'Oceans', 'state': 'active', 'vocabulary_id': None}, {'display_name': 'SGB systems', 'id': 'e90bd4d4-da24-418e-a5b1-f9d0cf063793', 'name': 'SGB systems', 'state': 'active', 'vocabulary_id': None}, {'display_name': 'bathymetry', 'id': '84d64091-149a-4cd4-bf97-f828e908fe76', 'name': 'bathymetry', 'state': 'active', 'vocabulary_id': None}, {'display_name': 'hydrographic', 'id': '903bf930-556a-402c-a784-3c57de8bc65b', 'name': 'hydrographic', 'state': 'active', 'vocabulary_id': None}, {'display_name': 'multibeam bathymetry', 'id': '1fe9236d-3571-4fe0-9305-f1b40579e991', 'name': 'multibeam bathymetry', 'state': 'active', 'vocabulary_id': None}, {'display_name': 'reson', 'id': '4ff1fff4-deb9-4256-a9c0-f03802b2d0e7', 'name': 'reson', 'state': 'active', 'vocabulary_id': None}], 'topic_and_saeoss_themes': [{'iso_topic_category': 'oceans'}], 'groups': [], 'relationships_as_subject': [], 'relationships_as_object': [], 'reference_date': '2023-01-27T00:00'} |
| field |
{'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'metadata_language_and_character_set', 'label': 'Metadata and Metadata record language and character set', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'dataset_language', 'label': 'Dataset language', 'required': False, 'help_text': 'Language of the metadata record - This is a SANS 1878 mandatory field'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'scheming_required scheming_choices', 'field_name': 'dataset_character_set', 'label': 'Dataset character set', 'required': True, 'choices': [{'value': 'ucs-2', 'label': 'UCS-2'}, {'value': 'ucs-4', 'label': 'UCS-4'}, {'value': 'utf-7', 'label': 'UTF-7'}, {'value': 'utf-8', 'label': 'UTF-8'}, {'value': 'utf-16', 'label': 'UTF-16'}, {'value': '8859part1', 'label': '8859-1'}, {'value': '8859part2', 'label': '8859-2'}, {'value': '8859part3', 'label': '8859-3'}, {'value': '8859part4', 'label': '8859-4'}, {'value': '8859part5', 'label': '8859-5'}, {'value': '8859part6', 'label': '8859-6'}, {'value': '8859part7', 'label': '8859-7'}, {'value': '8859part8', 'label': '8859-8'}, {'value': '8859part9', 'label': '8859-9'}, {'value': '8859part10', 'label': '8859-10'}, {'value': '8859part11', 'label': '8859-11'}, {'value': '8859part13', 'label': '8859-13'}, {'value': '8859part14', 'label': '8859-14'}, {'value': '8859part15', 'label': '8859-15'}, {'value': '8859part16', 'label': '8859-16'}, {'value': 'jis', 'label': 'jis'}, {'value': 'shiftJIS', 'label': 'shiftJIS'}, {'value': 'eucJP', 'label': 'eucJP'}, {'value': 'usAscii', 'label': 'ASCII'}, {'value': 'ebcdic', 'label': 'ebcdic'}, {'value': 'eucKR', 'label': 'eucKR'}, {'value': 'big5', 'label': 'big5'}, {'value': 'GB2312', 'label': 'GB2312'}], 'preset': 'select', 'help_text': 'Full name of the character coding standard used for the metadata record - This is a SANS 1878 mandatory field'}, {'field_name': 'metadata_language', 'label': 'Metadata language', 'required': True, 'help_text': 'Language for the metadata - This is a SANS 1878 mandatory field'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'scheming_required scheming_choices', 'field_name': 'metadata_character_set', 'label': 'Metadata character set', 'required': True, 'choices': [{'value': 'ucs-2', 'label': 'UCS-2'}, {'value': 'ucs-4', 'label': 'UCS-4'}, {'value': 'utf-7', 'label': 'UTF-7'}, {'value': 'utf-8', 'label': 'UTF-8'}, {'value': 'utf-16', 'label': 'UTF-16'}, {'value': '8859part1', 'label': '8859-1'}, {'value': '8859part2', 'label': '8859-2'}, {'value': '8859part3', 'label': '8859-3'}, {'value': '8859part4', 'label': '8859-4'}, {'value': '8859part5', 'label': '8859-5'}, {'value': '8859part6', 'label': '8859-6'}, {'value': '8859part7', 'label': '8859-7'}, {'value': '8859part8', 'label': '8859-8'}, {'value': '8859part9', 'label': '8859-9'}, {'value': '8859part10', 'label': '8859-10'}, {'value': '8859part11', 'label': '8859-11'}, {'value': '8859part13', 'label': '8859-13'}, {'value': '8859part14', 'label': '8859-14'}, {'value': '8859part15', 'label': '8859-15'}, {'value': '8859part16', 'label': '8859-16'}, {'value': 'jis', 'label': 'jis'}, {'value': 'shiftJIS', 'label': 'shiftJIS'}, {'value': 'eucJP', 'label': 'eucJP'}, {'value': 'usAscii', 'label': 'ASCII'}, {'value': 'ebcdic', 'label': 'ebcdic'}, {'value': 'eucKR', 'label': 'eucKR'}, {'value': 'big5', 'label': 'big5'}, {'value': 'GB2312', 'label': 'GB2312'}], 'preset': 'select', 'help_text': 'Full name of the character coding standard used for the metadata record - This is a SANS 1878 mandatory field'}]} |
| g |
<flask.g of 'ckan.config.middleware.flask_app'> |
| h |
{'redirect_to': <function redirect_to at 0x7f979d89bd30>, 'url': <function url at 0x7f979d89be50>, 'get_site_protocol_and_host': <function get_site_protocol_and_host at 0x7f979d89bdc0>, 'url_for': <function url_for at 0x7f979d89d040>, 'url_for_static': <function url_for_static at 0x7f979d89d1f0>, 'url_for_static_or_external': <function url_for_static_or_external at 0x7f979d89d280>, 'is_url': <function is_url at 0x7f979d89d310>, 'url_is_local': <function url_is_local at 0x7f979d89d430>, 'full_current_url': <function full_current_url at 0x7f979d89d4c0>, 'current_url': <function current_url at 0x7f979d89d550>, 'lang': <function lang at 0x7f979d89d5e0>, 'ckan_version': <function ckan_version at 0x7f979d89d670>, 'lang_native_name': <function lang_native_name at 0x7f979d89d700>, 'is_rtl_language': <function is_rtl_language at 0x7f979d89d790>, 'get_rtl_theme': <function get_rtl_theme at 0x7f979d89d820>, 'get_rtl_css': <function get_rtl_css at 0x7f979d89d8b0>, 'flash_notice': <function flash_notice at 0x7f979d89d940>, 'flash_error': <function flash_error at 0x7f979d89ddc0>, 'flash_success': <function flash_success at 0x7f979d89de50>, 'are_there_flash_messages': <function are_there_flash_messages at 0x7f979d89dee0>, 'link_to': <function link_to at 0x7f979d89e3a0>, 'file': <function file at 0x7f979d89e430>, 'submit': <function submit at 0x7f979d89e4c0>, 'nav_link': <function nav_link at 0x7f979d89e550>, 'nav_named_link': <function nav_named_link at 0x7f979d89e820>, 'subnav_link': <function subnav_link at 0x7f979d89e940>, 'subnav_named_route': <function subnav_named_route at 0x7f979d89ea60>, 'build_nav_main': <function build_pages_nav_main at 0x7f9780d77f70>, 'build_nav_icon': <function build_nav_icon at 0x7f979d89eaf0>, 'build_nav': <function build_nav at 0x7f979d89eb80>, 'build_extra_admin_nav': <function build_extra_admin_nav at 0x7f979d89eca0>, 'default_group_type': <function default_group_type at 0x7f979d89edc0>, 'get_facet_items_dict': <function get_facet_items_dict at 0x7f979d89ee50>, 'has_more_facets': <function has_more_facets at 0x7f979d89eee0>, 'unselected_facet_items': <function unselected_facet_items at 0x7f979d89ef70>, 'get_facet_title': <function get_facet_title at 0x7f979d81f160>, 'get_param_int': <function get_param_int at 0x7f979d81f040>, 'sorted_extras': <function sorted_extras at 0x7f979d81f280>, 'check_access': <function check_access at 0x7f979d81f310>, 'get_action': <function get_action at 0x7f979d81f4c0>, 'linked_user': <function linked_user at 0x7f979d81f3a0>, 'group_name_to_title': <function group_name_to_title at 0x7f979d81f550>, 'truncate': <function truncate at 0x7f979d81f5e0>, 'markdown_extract': <function markdown_extract at 0x7f979d81f670>, 'icon_url': <function icon_url at 0x7f979d81f700>, 'icon_html': <function icon_html at 0x7f979d81f790>, 'icon': <function icon at 0x7f979d81f820>, 'resource_icon': <function resource_icon at 0x7f979d81f8b0>, 'format_icon': <function format_icon at 0x7f979d81f940>, 'dict_list_reduce': <function dict_list_reduce at 0x7f979d81f9d0>, 'gravatar': <function gravatar at 0x7f979d81fa60>, 'sanitize_url': <function sanitize_url at 0x7f979d81faf0>, 'user_image': <function user_image at 0x7f979d81fb80>, 'pager_url': <function pager_url at 0x7f979d81fc10>, 'get_page_number': <function get_page_number at 0x7f979d81fca0>, 'get_display_timezone': <function get_display_timezone at 0x7f979d81fd30>, 'render_datetime': <function render_datetime at 0x7f979d81fdc0>, 'date_str_to_datetime': <function date_str_to_datetime at 0x7f979d81fe50>, 'parse_rfc_2822_date': <function parse_rfc_2822_date at 0x7f979d81fee0>, 'time_ago_from_timestamp': <function time_ago_from_timestamp at 0x7f979d81ff70>, 'button_attr': <function button_attr at 0x7f979d821280>, 'dataset_display_name': <function dataset_display_name at 0x7f979d821310>, 'dataset_link': <function dataset_link at 0x7f979d8213a0>, 'resource_display_name': <function resource_display_name at 0x7f979d821430>, 'resource_link': <function resource_link at 0x7f979d8214c0>, 'tag_link': <function tag_link at 0x7f979d821550>, 'group_link': <function group_link at 0x7f979d8215e0>, 'organization_link': <function organization_link at 0x7f979d821670>, 'dump_json': <function dump_json at 0x7f979d821700>, 'auto_log_message': <function auto_log_message at 0x7f979d821790>, 'activity_div': <function activity_div at 0x7f979d821820>, 'snippet': <function snippet at 0x7f979d8218b0>, 'convert_to_dict': <function convert_to_dict at 0x7f979d821940>, 'follow_button': <function follow_button at 0x7f979d8219d0>, 'follow_count': <function follow_count at 0x7f979d821a60>, 'add_url_param': <function add_url_param at 0x7f979d821b80>, 'remove_url_param': <function remove_url_param at 0x7f979d821c10>, 'include_resource': <function include_resource at 0x7f979d821ca0>, 'urls_for_resource': <function urls_for_resource at 0x7f979d821d30>, 'debug_inspect': <function debug_inspect at 0x7f979d821dc0>, 'popular': <function popular at 0x7f979d821e50>, 'groups_available': <function groups_available at 0x7f979d821ee0>, 'organizations_available': <function organizations_available at 0x7f979d821f70>, 'roles_translated': <function roles_translated at 0x7f979d822040>, 'user_in_org_or_group': <function user_in_org_or_group at 0x7f979d8220d0>, 'dashboard_activity_stream': <function dashboard_activity_stream at 0x7f979d822160>, 'recently_changed_packages_activity_stream': <function recently_changed_packages_activity_stream at 0x7f979d8221f0>, 'escape_js': <function escape_js at 0x7f979d822280>, 'get_pkg_dict_extra': <function get_pkg_dict_extra at 0x7f979d822310>, 'get_request_param': <function get_request_param at 0x7f979d8223a0>, 'html_auto_link': <function html_auto_link at 0x7f979d822430>, 'render_markdown': <function render_markdown at 0x7f979d8224c0>, 'format_resource_items': <function format_resource_items at 0x7f979d822550>, 'resource_preview': <function resource_preview at 0x7f979d8225e0>, 'get_allowed_view_types': <function get_allowed_view_types at 0x7f979d822670>, 'rendered_resource_view': <function rendered_resource_view at 0x7f979d822700>, 'view_resource_url': <bound method ResourceProxy.view_resource_url of <Plugin ResourceProxy 'resource_proxy'>>, 'resource_view_is_filterable': <function resource_view_is_filterable at 0x7f979d822820>, 'resource_view_get_fields': <function resource_view_get_fields at 0x7f979d8228b0>, 'resource_view_is_iframed': <function resource_view_is_iframed at 0x7f979d822940>, 'resource_view_icon': <function resource_view_icon at 0x7f979d8229d0>, 'resource_view_display_preview': <function resource_view_display_preview at 0x7f979d822a60>, 'resource_view_full_page': <function resource_view_full_page at 0x7f979d822af0>, 'remove_linebreaks': <function remove_linebreaks at 0x7f979d822b80>, 'list_dict_filter': <function list_dict_filter at 0x7f979d822c10>, 'SI_number_span': <function SI_number_span at 0x7f979d822ca0>, 'new_activities': <function new_activities at 0x7f979d822d30>, 'uploads_enabled': <function uploads_enabled at 0x7f979d822dc0>, 'get_featured_organizations': <function get_featured_organizations at 0x7f979d822e50>, 'get_featured_groups': <function get_featured_groups at 0x7f979d822ee0>, 'featured_group_org': <function featured_group_org at 0x7f979d822f70>, 'get_site_statistics': <function get_site_statistics at 0x7f979d823040>, 'resource_formats': <function resource_formats at 0x7f979d8230d0>, 'unified_resource_format': <function unified_resource_format at 0x7f979d823160>, 'check_config_permission': <function check_config_permission at 0x7f979d8231f0>, 'get_organization': <function get_organization at 0x7f979d823280>, 'license_options': <function license_options at 0x7f979d823310>, 'get_translated': <function get_translated at 0x7f979d8233a0>, 'facets': <function facets at 0x7f979d823430>, 'mail_to': <function mail_to at 0x7f979d8234c0>, 'radio': <function radio at 0x7f979d823550>, 'clean_html': <function clean_html at 0x7f979d8235e0>, 'flash': <ckan.lib.helpers._Flash object at 0x7f979d88b730>, 'localised_number': <function localised_number at 0x7f979ead7310>, 'localised_SI_number': <function localised_SI_number at 0x7f979ead7430>, 'localised_nice_date': <function localised_nice_date at 0x7f979ead71f0>, 'localised_filesize': <function localised_filesize at 0x7f979ead73a0>, 'get_available_locales': <function get_available_locales at 0x7f979fc24ca0>, 'get_locales_dict': <function get_locales_dict at 0x7f979fc24c10>, 'literal': <class 'ckan.lib.helpers.literal'>, 'asbool': <function asbool at 0x7f979fd37ee0>, 'urlencode': <function urlencode at 0x7f97a18e9ca0>, 'include_asset': <function include_asset at 0x7f979d89b820>, 'render_assets': <function render_assets at 0x7f979d89b940>, 'sanitize_id': <function sanitize_id at 0x7f979d823700>, 'compare_pkg_dicts': <function compare_pkg_dicts at 0x7f979d823790>, 'activity_list_select': <function activity_list_select at 0x7f979d823820>, 'get_collaborators': <function get_collaborators at 0x7f979d8238b0>, 'can_update_owner_org': <function can_update_owner_org at 0x7f979d823940>, 'check_ckan_version': <function check_ckan_version at 0x7f979d8239d0>, 'csrf_input': <function csrf_input at 0x7f979d823a60>, 'saeoss_default_spatial_search_extent': functools.partial(<function get_default_spatial_search_extent at 0x7f9780675dc0>, 0.001), 'default_bounding_box': <function get_default_bounding_box at 0x7f9780675e50>, 'convert_geojson_to_bounding_box': <function convert_geojson_to_bbox at 0x7f9780675ee0>, 'extent_to_bbox': <function convert_string_extent_to_bbox at 0x7f9780675f70>, 'saeoss_themes': <function get_saeoss_themes at 0x7f97806d64c0>, 'iso_topic_categories': <function get_iso_topic_categories at 0x7f9780675ca0>, 'get_iso_topic_display': <function get_iso_topic_display at 0x7f9780675d30>, 'saeoss_show_version': <function helper_show_version at 0x7f978066d040>, 'user_is_org_member': <function user_is_org_member at 0x7f978066d0d0>, 'org_member_list': <function org_member_list at 0x7f978066d160>, 'user_is_staff_member': <function user_is_staff_member at 0x7f978066d1f0>, 'get_featured_datasets': <function get_featured_datasets at 0x7f978066d310>, 'get_recently_modified_datasets': <function get_recently_modified_datasets at 0x7f978066d430>, 'get_all_datasets_count': <function get_all_datasets_count at 0x7f978066d4c0>, 'saeoss_org_memberships': <function get_org_memberships at 0x7f978066d790>, 'mod_scheming_flatten_subfield': <function mod_scheming_flatten_subfield at 0x7f978066d820>, 'get_today_date': <function get_today_date at 0x7f978066d940>, 'get_maintenance_custom_other_field_data': <function get_maintenance_custom_other_field_data at 0x7f978066d8b0>, 'get_release': <function get_current_release at 0x7f978066d9d0>, 'get_saved_searches': <function get_saved_searches at 0x7f978066daf0>, 'get_recent_news': <function get_recent_news at 0x7f978066dd30>, 'get_featured_datasets_count': <function get_featured_datasets_count at 0x7f978066d3a0>, 'get_user_name': <function get_user_name at 0x7f978066db80>, 'get_user_name_from_url': <function get_user_name_from_url at 0x7f978066dca0>, 'get_user_id': <function get_user_id at 0x7f978066dc10>, 'get_seo_metatags': <function get_seo_metatags at 0x7f978066ddc0>, 'get_datasets_thumbnail': <function get_datasets_thumbnail at 0x7f978066d670>, 'get_year': <function get_year at 0x7f978066de50>, 'get_user_dashboard_packages': <function get_user_dashboard_packages at 0x7f978066dee0>, 'get_org_public_records_count': <function get_org_public_records_count at 0x7f978066d5e0>, 'group_package_count': <function group_package_count at 0x7f978066d550>, 'render_content': <function render_content at 0x7f9780d935e0>, 'get_wysiwyg_editor': <function get_wysiwyg_editor at 0x7f9780d9eb80>, 'get_recent_blog_posts': <function get_recent_blog_posts at 0x7f9780d9ec10>, 'pages_get_plus_icon': <function get_plus_icon at 0x7f9780d9eca0>, 'scheming_language_text': <function scheming_language_text at 0x7f9780e57d30>, 'scheming_field_choices': <function scheming_field_choices at 0x7f9780e57dc0>, 'scheming_choices_label': <function scheming_choices_label at 0x7f9780e57e50>, 'scheming_datastore_choices': <function scheming_datastore_choices at 0x7f9780e57ee0>, 'scheming_field_required': <function scheming_field_required at 0x7f9780e57b80>, 'scheming_dataset_schemas': <function scheming_dataset_schemas at 0x7f9780e57f70>, 'scheming_get_presets': <function scheming_get_presets at 0x7f9780e57c10>, 'scheming_get_preset': <function scheming_get_preset at 0x7f9780dca040>, 'scheming_get_dataset_schema': <function scheming_get_dataset_schema at 0x7f9780dca0d0>, 'scheming_get_dataset_form_pages': <function scheming_get_dataset_form_pages at 0x7f9780dca160>, 'scheming_group_schemas': <function scheming_group_schemas at 0x7f9780dca1f0>, 'scheming_get_group_schema': <function scheming_get_group_schema at 0x7f9780dca280>, 'scheming_organization_schemas': <function scheming_organization_schemas at 0x7f9780dca310>, 'scheming_get_organization_schema': <function scheming_get_organization_schema at 0x7f9780dca3a0>, 'scheming_get_schema': <function scheming_get_schema at 0x7f9780dca430>, 'scheming_field_by_name': <function scheming_field_by_name at 0x7f9780dca4c0>, 'scheming_datetime_to_utc': <function scheming_datetime_to_utc at 0x7f9780dca5e0>, 'scheming_datetime_to_tz': <function scheming_datetime_to_tz at 0x7f9780dca670>, 'scheming_get_timezones': <function scheming_get_timezones at 0x7f9780dca700>, 'scheming_display_json_value': <function scheming_display_json_value at 0x7f9780dca790>, 'scheming_render_from_string': <function scheming_render_from_string at 0x7f9780dca820>, 'scheming_flatten_subfield': <function scheming_flatten_subfield at 0x7f9780dca8b0>, 'get_common_map_config_shp': <function get_common_map_config at 0x7f9780e37670>, 'get_shapefile_viewer_config': <function get_shapefile_viewer_config at 0x7f9780e37700>, 'get_common_map_config_wmts': <function get_common_map_config at 0x7f9780e37670>, 'get_common_map_config_geojson': <function get_common_map_config at 0x7f9780e37670>, 'geojson_get_max_file_size': <function get_max_file_size at 0x7f9780e37790>, 'get_common_map_config_geoviews': <function get_common_map_config at 0x7f9780e37670>, 'get_openlayers_viewer_config': <function get_openlayers_viewer_config at 0x7f9780e37820>, 'get_reference_date': <function get_reference_date at 0x7f9776e29af0>, 'get_responsible_party': <function get_responsible_party at 0x7f9776e29b80>, 'get_common_map_config': <function get_common_map_config at 0x7f9776e29c10>, 'package_list_for_source': <function package_list_for_source at 0x7f9776e29e50>, 'package_count_for_source': <function package_count_for_source at 0x7f9776e29ee0>, 'harvesters_info': <function harvesters_info at 0x7f9776e29f70>, 'harvester_types': <function harvester_types at 0x7f9776e34040>, 'harvest_frequencies': <function harvest_frequencies at 0x7f9776e340d0>, 'link_for_harvest_object': <function link_for_harvest_object at 0x7f9776e34160>, 'harvest_source_extra_fields': <function harvest_source_extra_fields at 0x7f9776e341f0>, 'bootstrap_version': <function bootstrap_version at 0x7f9776e34280>, 'get_harvest_source': <function get_harvest_source at 0x7f9776e29dc0>, 'get_map_config': <function get_mapview_config at 0x7f9797691550>, 'get_dataproxy_url': <function get_dataproxy_url at 0x7f97976915e0>} |
| request |
<Request 'http://saeoss.sansa.org.za/dataset/bathymetry_data_collected_from_zinkwazi_november_2021?activity_id=d9a0f63b-53a1-4f24-bc4f-21aedb0613eb' [GET]> |
| schema |
{'scheming_version': 2, 'dataset_type': 'dataset', 'about': 'CKAN schema for the SAEOSS portal. This schema holds SANS1878-related fields', 'dataset_fields': [{'validators': 'if_empty_same_as(name) unicode_safe', 'form_snippet': 'large_text.html', 'form_attrs': {'data-module': 'slug-preview-target'}, 'field_name': 'title', 'label': 'Title', 'help_text': 'Name by which the cited resource is known, the automatically filled URL is a unique identifier for the metadata record- This is a SANS 1878 mandatory field', 'preset': 'title', 'required': True, 'form_placeholder': 'eg. A descriptive title'}, {'form_snippet': 'dataset_featured.html', 'field_name': 'featured', 'label': 'Feature metadata record on SAEOSS landing page?', 'required': False, 'help_text': 'Should this metadata record be featured on the SAEOSS front page?', 'validators': 'boolean_validator', 'preset': 'saeoss_checkbox'}, {'field_name': 'doi', 'label': 'DOI', 'required': False, 'help_text': 'Digital Object Identifier of the metadata record (if any)', 'validators': 'doi_validator'}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'metadata_standard', 'label': 'Metadata Standard', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'name', 'label': 'Metadata standard name', 'validators': 'metadata_default_standard_name', 'required': False, 'help_text': 'Name(s) of metadata standard used, if multiple standards used, separate them by comma, leave blank if the metadata standard used is SANS1878'}, {'field_name': 'version', 'label': 'Metadata standard version', 'validators': 'metadata_default_standard_version', 'required': False, 'help_text': 'Version(s) of metadata standard used, if multiple standards used, separate versions by comma, leave blank if the metadata standard version is 1.1'}]}, {'field_name': 'notes', 'label': 'Abstract', 'required': True, 'form_snippet': 'markdown.html', 'form_placeholder': 'eg. Some useful notes about the data', 'help_text': 'Brief narrative summary of the content of the resource - This is a SANS 1878 mandatory field'}, {'validators': 'owner_org_validator unicode', 'form_snippet': 'organization_with_visibility.html', 'field_name': 'owner_org', 'label': 'Responsible organisation Name', 'required': True, 'preset': 'dataset_organization', 'help_text': 'Organisation responsible for the metadata record. This is a SANS 1878 mandatory field'}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'responsible_party', 'label': 'Metadata record responsible party', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'individual_name', 'label': 'Individual name', 'required': True, 'help_text': 'Name of personnel responsible of this metadata record'}, {'field_name': 'position_name', 'label': 'Position name', 'required': True, 'help_text': 'role or position of the person responsible of this metadata record'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'scheming_required scheming_choices', 'field_name': 'role', 'label': 'Role', 'required': True, 'help_text': 'function performed by the organisation responsible of this metadata record', 'preset': 'select', 'choices': [{'value': 'resource_provider', 'label': 'resource provider'}, {'value': 'owner', 'label': 'owner'}, {'value': 'distributor', 'label': 'distributor'}, {'value': 'originator', 'label': 'originator'}, {'value': 'point_of_contact', 'label': 'point of contact'}, {'value': 'principal_investigator', 'label': 'principal investigator'}, {'value': 'processor', 'label': 'processor'}, {'value': 'publisher', 'label': 'publisher'}]}, {'field_name': 'electronic_mail_address', 'label': 'Electronic mail address', 'required': False, 'help_text': 'Address of the electronic mailbox of the user organisation or individual'}, {'field_name': 'website', 'label': 'Website URL', 'help_text': 'URL of the responsible organisation or individual website', 'required': False}]}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'responsible_party_contact_info', 'label': 'Metadata record responsible party contact info', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'voice', 'label': 'Phone', 'required': False, 'help_text': 'Telephone number of responsible organisation or individual'}, {'field_name': 'facsimile', 'label': 'Facsimile', 'required': False, 'help_text': 'Facsimile machine number of responsible organisation or individual'}]}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'responsible_party_contact_address', 'label': 'Metadata record responsible party contact address', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'delivery_point', 'label': 'delivery Point', 'required': False, 'help_text': 'address line for positional information and services(e.g. address line for geodetic networks, control points, ..etc.)'}, {'field_name': 'city', 'label': 'City', 'required': False}, {'field_name': 'administrative_area', 'label': 'Administrative area', 'required': False, 'help_text': 'province of the contact location'}, {'field_name': 'postal_code', 'label': 'Postal Code', 'required': False}]}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'topic_and_saeoss_themes', 'label': 'Topic category and SAEOSS theme', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'iso_topic_category', 'label': 'Topic Category', 'help_text': 'ISO 19115 Topic Category for the metadata record - This is a SANS 1878 mandatory field', 'required': False, 'choices_helper': 'iso_topic_categories', 'validators': 'ignore_missing', 'output_validators': 'ignore_missing', 'form_snippet': 'vocab_select.html', 'display_snippet': 'vocab_tag_display.html'}]}, {'validators': 'ignore_missing tag_string_convert', 'classes': 'control-full', 'form_attrs': {'data-module': 'autocomplete', 'data-module-tags': '', 'data-module-source': '/api/3/action/tag_autocomplete?query=?', 'class': ''}, 'field_name': 'tag_string', 'label': 'Tags', 'preset': 'free_tags_tag_string_autocomplete', 'form_snippet': 'tag_select.html', 'help_text': 'Additional keywords useful for describing the metadata record. In order to optimize searchability, it is recommended to add at least three keywords', 'form_placeholder': 'eg. economy, mental health, government'}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'metadata_language_and_character_set', 'label': 'Metadata and Metadata record language and character set', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'dataset_language', 'label': 'Dataset language', 'required': False, 'help_text': 'Language of the metadata record - This is a SANS 1878 mandatory field'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'scheming_required scheming_choices', 'field_name': 'dataset_character_set', 'label': 'Dataset character set', 'required': True, 'choices': [{'value': 'ucs-2', 'label': 'UCS-2'}, {'value': 'ucs-4', 'label': 'UCS-4'}, {'value': 'utf-7', 'label': 'UTF-7'}, {'value': 'utf-8', 'label': 'UTF-8'}, {'value': 'utf-16', 'label': 'UTF-16'}, {'value': '8859part1', 'label': '8859-1'}, {'value': '8859part2', 'label': '8859-2'}, {'value': '8859part3', 'label': '8859-3'}, {'value': '8859part4', 'label': '8859-4'}, {'value': '8859part5', 'label': '8859-5'}, {'value': '8859part6', 'label': '8859-6'}, {'value': '8859part7', 'label': '8859-7'}, {'value': '8859part8', 'label': '8859-8'}, {'value': '8859part9', 'label': '8859-9'}, {'value': '8859part10', 'label': '8859-10'}, {'value': '8859part11', 'label': '8859-11'}, {'value': '8859part13', 'label': '8859-13'}, {'value': '8859part14', 'label': '8859-14'}, {'value': '8859part15', 'label': '8859-15'}, {'value': '8859part16', 'label': '8859-16'}, {'value': 'jis', 'label': 'jis'}, {'value': 'shiftJIS', 'label': 'shiftJIS'}, {'value': 'eucJP', 'label': 'eucJP'}, {'value': 'usAscii', 'label': 'ASCII'}, {'value': 'ebcdic', 'label': 'ebcdic'}, {'value': 'eucKR', 'label': 'eucKR'}, {'value': 'big5', 'label': 'big5'}, {'value': 'GB2312', 'label': 'GB2312'}], 'preset': 'select', 'help_text': 'Full name of the character coding standard used for the metadata record - This is a SANS 1878 mandatory field'}, {'field_name': 'metadata_language', 'label': 'Metadata language', 'required': True, 'help_text': 'Language for the metadata - This is a SANS 1878 mandatory field'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'scheming_required scheming_choices', 'field_name': 'metadata_character_set', 'label': 'Metadata character set', 'required': True, 'choices': [{'value': 'ucs-2', 'label': 'UCS-2'}, {'value': 'ucs-4', 'label': 'UCS-4'}, {'value': 'utf-7', 'label': 'UTF-7'}, {'value': 'utf-8', 'label': 'UTF-8'}, {'value': 'utf-16', 'label': 'UTF-16'}, {'value': '8859part1', 'label': '8859-1'}, {'value': '8859part2', 'label': '8859-2'}, {'value': '8859part3', 'label': '8859-3'}, {'value': '8859part4', 'label': '8859-4'}, {'value': '8859part5', 'label': '8859-5'}, {'value': '8859part6', 'label': '8859-6'}, {'value': '8859part7', 'label': '8859-7'}, {'value': '8859part8', 'label': '8859-8'}, {'value': '8859part9', 'label': '8859-9'}, {'value': '8859part10', 'label': '8859-10'}, {'value': '8859part11', 'label': '8859-11'}, {'value': '8859part13', 'label': '8859-13'}, {'value': '8859part14', 'label': '8859-14'}, {'value': '8859part15', 'label': '8859-15'}, {'value': '8859part16', 'label': '8859-16'}, {'value': 'jis', 'label': 'jis'}, {'value': 'shiftJIS', 'label': 'shiftJIS'}, {'value': 'eucJP', 'label': 'eucJP'}, {'value': 'usAscii', 'label': 'ASCII'}, {'value': 'ebcdic', 'label': 'ebcdic'}, {'value': 'eucKR', 'label': 'eucKR'}, {'value': 'big5', 'label': 'big5'}, {'value': 'GB2312', 'label': 'GB2312'}], 'preset': 'select', 'help_text': 'Full name of the character coding standard used for the metadata record - This is a SANS 1878 mandatory field'}]}, {'field_name': 'lineage_statement', 'label': 'Lineage statement', 'required': True, 'help_text': "general explanation of the data producer's knowledge about the lineage of a metadata record - This is a SANS 1878 mandatory field"}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'contact', 'label': 'Metadata record point of contact', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'individual_name', 'label': 'Individual contact name', 'required': False, 'help_text': 'name - with surname of the person responsible of this metadata record'}, {'field_name': 'position_name', 'label': 'Role / Position of the contact individual', 'required': False, 'help_text': 'Role/ position of the contact individual'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'scheming_required scheming_choices', 'field_name': 'role', 'label': 'Organisation role', 'required': False, 'preset': 'select', 'help_text': 'function performed by contact party, This is a SANS 1878 mandatory field', 'choices': [{'value': 'point_of_contact', 'label': 'point of contact'}]}, {'field_name': 'electronic_mail_address', 'label': 'Electronic mail address', 'required': False, 'help_text': 'Address of the electronic mailbox of the contact organisation or individual'}]}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'contact_information', 'label': 'Metadata record point of contact additional info', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'voice', 'label': 'Contact point phone', 'required': False, 'help_text': 'Telephone number of individual contact or organisation'}, {'field_name': 'facsimile', 'label': 'Contact point facsimile', 'required': False, 'help_text': 'Facsimile machine number of individual contact or organisation'}]}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'online_resource', 'label': 'Metadata record online information', 'preset': 'modified_repeating_subfields', 'repeating_label': 'Metadata record online information', 'repeating_subfields': [{'field_name': 'linkage', 'label': 'URL', 'help_text': 'location(address) for on-line access using a uniform resource locator address or similar addressing scheme'}, {'field_name': 'name', 'label': 'Name', 'form_placeholder': 'eg. January 2011 Gold Prices', 'help_text': 'Name of the online resource'}, {'field_name': 'application_profile', 'label': 'Application profile', 'help_text': 'Name of an application profile that can be used with the resource'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'convert_choices_select_to_int', 'field_name': 'description', 'label': 'Description', 'preset': 'select', 'choices': [{'value': 1, 'label': 'download'}, {'value': 2, 'label': 'information'}, {'value': 3, 'label': 'offlineAccess'}, {'value': 4, 'label': 'order'}, {'value': 5, 'label': 'search'}], 'help_text': 'Please specify the function performed by the resource'}]}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'distribution_format', 'label': 'Distribution format', 'preset': 'modified_repeating_subfields', 'repeating_label': 'Distribution contact', 'repeating_subfields': [{'field_name': 'name', 'label': 'Metadata record distribution format name', 'required': True, 'placeholder': 'Electronic metadata record', 'help_text': 'Name of the data transfer format, default is Electronic metadata record - This is a SANS 1878 mandatory field'}, {'field_name': 'version', 'label': 'Metadata record distribution format version', 'required': True, 'form_placeholder': '1.0', 'help_text': 'Version of the data transfer format (date, number, etc) - This is a SANS 1878 mandatory field'}]}, {'form_snippet': 'dataset_spatial_extent.html', 'validators': 'bbox_converter', 'field_name': 'spatial', 'label': 'Geographic location bounding box', 'required': True, 'help_text': 'Bounding box for the metadata record, expressed as the geographic coordinates of the upper left and lower right corners - This is a SANS 1878 mandatory field', 'preset': 'dataset_spatial_extent', 'display_snippet': None}, {'form_snippet': 'modified_repeating_subfields.html', 'display_snippet': 'modified_repeating_subfields.html', 'field_name': 'spatial_parameters', 'label': 'Spatial parameters', 'preset': 'modified_repeating_subfields', 'repeating_subfields': [{'field_name': 'equivalent_scale', 'label': 'Spatial resolution equivalent scale', 'required': True, 'help_text': 'Level of detail expressed as the scale of a comparable hardcopy map or chart. Provide it as the denominator of a representative fraction, i.e. the number below the line in a vulgar fraction - This is a SANS 1878 mandatory field'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'scheming_required scheming_choices', 'field_name': 'spatial_representation_type', 'label': 'Spatial representation type', 'required': True, 'help_text': 'Method used to spatially represent geographic information - This is a SANS 1878 mandatory field', 'choices': [{'value': '001', 'label': 'Vector (vector data is used to represent geographic data)'}, {'value': '002', 'label': 'Grid (grid data is used to represent geographic data)'}, {'value': '003', 'label': 'Text table (textual or tabular data is used to represent geographic data)'}, {'value': '004', 'label': 'Triangulated Irregular Network (TIN)'}, {'value': '005', 'label': 'Stereo Model (Three-dimensional view formed by the intersecting homologous rays of an overlapping pair of images)'}, {'value': '006', 'label': 'Video (Scene from a video recording)'}, {'value': '007', 'label': 'Image (Image formats, e.g. Tiff/BMP/JPEG/SID, etc. - Not a grid)'}], 'preset': 'select'}, {'field_name': 'spatial_reference_system', 'label': 'Spatial Reference System Identifier', 'required': False, 'validators': 'srs_validator', 'help_text': '"Name of spatial reference system. Provide it as a colon-separated sequence of <ref>:<code> with the respective code for the metadata record\'s spatial coordinate reference system. It is recommended to use the EPSG spatial catalogue codes whenever possible (e.g. EPSG:32635). Alternatively it is recommended to use a reference as shown on the www.spatialreference.org website, which features EPSG, ESRI and user-defined references to well-known coordinate reference systems - This is a SANS 1878 mandatory field"'}]}, {'field_name': 'reference_system_additional_info', 'label': 'Additional information about Reference Systems (temporal, vertical)', 'form_snippet': 'markdown.html', 'required': False}, {'field_name': 'dataset_reference_date', 'label': 'Reference date', 'repeating_subfields': [{'field_name': 'reference', 'label': 'Reference datetime', 'required': True, 'form_snippet': 'modified_datetime.html', 'help_text': 'Reference datetime for this metadata record'}, {'form_snippet': 'select.html', 'display_snippet': 'select.html', 'validators': 'convert_choices_select_to_int', 'field_name': 'reference_date_type', 'label': 'Reference date type', 'required': True, 'preset': 'select', 'choices': [{'value': 1, 'label': 'Creation'}, {'value': 2, 'label': 'Publication'}, {'value': 3, 'label': 'Revision'}], 'help_text': 'Reference date type - This is a SANS 1878 mandatory field'}]}, {'field_name': 'metadata_date', 'label': 'Metadata stamp date', 'required': True, 'validators': 'ignore_missing', 'form_snippet': 'modified_datetime.html', 'help_text': 'Reference datetime for this metadata record'}, {'field_name': 'metadata_thumbnail', 'label': 'Metadata record thumbnail', 'required': False, 'form_placeholder': 'https://files.isric.org/public/thumbnails/afsis250m/clyppt.png', 'help_text': 'URL for a thumbnail previewing this metadata record which appears in the search page. Use images with 1:1 ratio for better results'}], 'resource_fields': [{'validators': 'ignore_missing unicode_safe remove_whitespace', 'form_snippet': 'upload.html', 'form_placeholder': 'http://example.com/my-data.csv', 'upload_field': 'upload', 'upload_clear': 'clear_upload', 'upload_label': 'File', 'field_name': 'url', 'label': 'URL', 'preset': 'resource_url_upload'}, {'field_name': 'name', 'label': 'Name', 'form_placeholder': 'eg. January 2011 Gold Prices'}, {'field_name': 'description', 'label': 'Description', 'form_snippet': 'markdown.html'}, {'validators': 'if_empty_guess_format ignore_missing clean_format unicode_safe', 'form_placeholder': 'eg. CSV, XML or JSON', 'form_attrs': {'data-module': 'autocomplete', 'data-module-source': '/api/2/util/resource/format_autocomplete?incomplete=?'}, 'field_name': 'format', 'label': 'Format', 'required': False, 'preset': 'resource_format_autocomplete', 'help_text': 'Name of the data transfer format - This is a SANS 1878 mandatory field'}, {'field_name': 'format_version', 'label': 'Format Version', 'required': False, 'help_text': 'link format'}]} |
| session |
{'_domain': None, '_path': '/', '_accessed_time': 1793653084.0694094, '_creation_time': 1793653084.0694094} |
| ungettext |
<function ungettext at 0x7f979fd37670> |