From 77140d0baf7af709e45cab52d6604e4f118bc6da Mon Sep 17 00:00:00 2001
From: James McKinney <26463+jpmckinney@users.noreply.github.com>
Date: Fri, 13 Dec 2024 18:06:24 -0500
Subject: [PATCH] feat: Undeprecated and removed fields are prohibited and no
longer supported
---
README.md | 2 --
extension_explorer/data/tags.yaml | 1 -
.../locale/es/LC_MESSAGES/messages.po | 4 ---
extension_explorer/messages.pot | 4 ---
.../templates/extension_schema.html | 35 -------------------
extension_explorer/util.py | 32 ++---------------
extension_explorer/views.py | 5 +--
tests/test_util.py | 22 ------------
8 files changed, 4 insertions(+), 101 deletions(-)
diff --git a/README.md b/README.md
index 5aa8391f3..b0f25c845 100644
--- a/README.md
+++ b/README.md
@@ -101,7 +101,6 @@ The automated tests provide full code coverage, but you might still want to chec
* The "Description" column:
* renders Markdown
{{ _('Deprecated in OCDS %(deprecatedVersion)s:', deprecatedVersion=field.schema.deprecated.deprecatedVersion) }} {{ field.schema.deprecated.description }}
- {% else %} -- {{ _('The extension undoes the deprecation of this field.') }} -
- {% endif %} {% endif %}- {{ _("The extension removes these fields from the release schema:") }} -
- - {{ field_list(removed_fields.active) }} - {% endif %} - - {% if 'deprecated' in removed_fields %} -- {{ _("The extension removes these deprecated fields from the release schema:") }} -
- - {{ field_list(removed_fields.deprecated) }} - {% endif %} - {% endif %} {% endblock %} {% macro field_list(fields) -%} diff --git a/extension_explorer/util.py b/extension_explorer/util.py index 21e298c99..e952f7f90 100644 --- a/extension_explorer/util.py +++ b/extension_explorer/util.py @@ -71,7 +71,7 @@ def set_tags(extensions): for extension in extensions.values(): extension['tags'] = set() - if extension['core'] and extension['id'] != 'milestone_documents': + if extension['core']: extension['tags'].add('recommended') groups = {} @@ -227,36 +227,10 @@ def get_codelist_tables(extension_version, lang): return tables -def get_removed_fields(extension_version, lang): - """ - Return a dictionary of deprecation status and field tables. Each table is a list of fields. Each field is a - dictionary with "definition_path", "path" and "url" (if available) keys. All values are translated. - """ - tables = defaultdict(list) - - schema = _patch_schema(extension_version, 'en', include_test_dependencies=True) - sources = _get_sources(schema, lang) - - for field in get_schema_fields(extension_version['schemas']['release-schema.json'][lang]): - # If the field isn't removed. - if field.schema is not None: - continue - - original_field = _add_link_to_original_field(field, schema, sources) - - group = 'deprecated' if original_field.get('deprecated') else 'active' - - d = field.asdict(exclude=('definition_pointer', 'pointer', 'schema', 'required', 'deprecated', 'multilingual')) - tables[group].append(d) - - return tables - - def get_schema_tables(extension_version, lang): """ - Return a dictionary of definition names and field tables. Each table is a list of fields. Each field is a - dictionary with "definition_path", "path", "schema", "multilingual", "title", "description", "types" and "source" - (if available) keys. All values are translated. + Return a dictionary of definition names and field tables. Each table is a list of fields. + All values are translated. The "description" (rendered from Markdown) and "types" values may contain HTML. The "description" includes any deprecation information. diff --git a/extension_explorer/views.py b/extension_explorer/views.py index 6be46cecd..eb2e08cf2 100644 --- a/extension_explorer/views.py +++ b/extension_explorer/views.py @@ -13,7 +13,6 @@ get_extension_explorer_data_filename, get_extensions, get_present_and_historical_versions, - get_removed_fields, get_schema_tables, highlight_json, identify_headings, @@ -162,12 +161,10 @@ def extension_schema(lang, identifier, version): present_versions, historical_versions = get_present_and_historical_versions(extension) tables = get_schema_tables(extension_version, lang) - removed_fields = get_removed_fields(extension_version, lang) return render_template('extension_schema.html', lang=lang, identifier=identifier, version=version, extension=extension, extension_version=extension_version, present_versions=present_versions, - historical_versions=historical_versions, default_master=default_master, tables=tables, - removed_fields=removed_fields) + historical_versions=historical_versions, default_master=default_master, tables=tables) @app.route('/