diff --git a/ietf/ipr/management/commands/generate_draft_recursive_txt.py b/ietf/ipr/management/commands/generate_draft_recursive_txt.py deleted file mode 100644 index 2c61a7604..000000000 --- a/ietf/ipr/management/commands/generate_draft_recursive_txt.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright The IETF Trust 2014-2021, All Rights Reserved -# -*- coding: utf-8 -*- - - -from django.core.management.base import BaseCommand, CommandError - -from ietf.ipr.utils import generate_draft_recursive_txt - - -class Command(BaseCommand): - help = ("Generate machine-readable list of IPR disclosures by Internet-Draft name (recursive)") - - def handle(self, *args, **options): - try: - generate_draft_recursive_txt() - except (ValueError, IOError) as e: - raise CommandError(e) diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py index 67be278db..beb4d7fc1 100644 --- a/ietf/ipr/tests.py +++ b/ietf/ipr/tests.py @@ -161,12 +161,6 @@ class IprTests(TestCase): r = self.client.get(urlreverse("ietf.ipr.views.history", kwargs=dict(id=ipr.pk))) self.assertContains(r, ipr.title) - def test_iprs_for_drafts(self): - draft=WgDraftFactory() - ipr = HolderIprDisclosureFactory(docs=[draft,]) - r = self.client.get(urlreverse("ietf.ipr.views.by_draft_txt")) - self.assertContains(r, draft.name) - self.assertContains(r, str(ipr.pk)) def test_about(self): r = self.client.get(urlreverse("ietf.ipr.views.about")) diff --git a/ietf/ipr/urls.py b/ietf/ipr/urls.py index 2b6abee31..84ed04a66 100644 --- a/ietf/ipr/urls.py +++ b/ietf/ipr/urls.py @@ -12,8 +12,6 @@ urlpatterns = [ url(r'^admin/$', RedirectView.as_view(url=reverse_lazy('ietf.ipr.views.admin',kwargs={'state':'pending'}), permanent=True)), url(r'^admin/(?Ppending|removed|parked)/$', views.admin), url(r'^ajax/search/$', views.ajax_search), - url(r'^by-draft/$', views.by_draft_txt), - url(r'^by-draft-recursive/$', views.by_draft_recursive_txt), url(r'^(?P\d+)/$', views.show), url(r'^(?P\d+)/addcomment/$', views.add_comment), url(r'^(?P\d+)/addemail/$', views.add_email), diff --git a/ietf/ipr/utils.py b/ietf/ipr/utils.py index 8f0b9cf3f..7e569a1d1 100644 --- a/ietf/ipr/utils.py +++ b/ietf/ipr/utils.py @@ -4,7 +4,6 @@ from textwrap import dedent from ietf.ipr.mail import process_response_email, UndeliverableIprResponseError -from ietf.ipr.models import IprDocRel import debug # pyflakes:ignore @@ -64,30 +63,6 @@ def related_docs(doc, relationship=('replaces', 'obs'), reverse_relationship=("b return list(set(results)) -def generate_draft_recursive_txt(): - docipr = {} - - for o in IprDocRel.objects.filter(disclosure__state='posted').select_related('document'): - doc = o.document - name = doc.name - related_set = set(doc) | set(doc.all_related_that_doc(('obs', 'replaces'))) - for related in related_set: - name = related.name - if name.startswith("rfc"): - name = name.upper() - if not name in docipr: - docipr[name] = [] - docipr[name].append(o.disclosure_id) - - lines = [ "# Machine-readable list of IPR disclosures by Internet-Draft name" ] - for name, iprs in docipr.items(): - lines.append(name + "\t" + "\t".join(str(ipr_id) for ipr_id in sorted(iprs))) - - data = '\n'.join(lines) - filename = '/a/ietfdata/derived/ipr_draft_recursive.txt' - with open(filename, 'w') as f: - f.write(data) - def ingest_response_email(message: bytes): from ietf.api.views import EmailIngestionError # avoid circular import diff --git a/ietf/ipr/views.py b/ietf/ipr/views.py index 0347c4d78..24453df2d 100644 --- a/ietf/ipr/views.py +++ b/ietf/ipr/views.py @@ -445,35 +445,6 @@ def history(request, id): 'selected_tab_entry':'history' }) -def by_draft_txt(request): - docipr = {} - - for o in IprDocRel.objects.filter(disclosure__state='posted').select_related('document'): - name = o.document.name - if name.startswith("rfc"): - name = name.upper() - - if not name in docipr: - docipr[name] = [] - - docipr[name].append(o.disclosure_id) - - lines = [ "# Machine-readable list of IPR disclosures by draft name" ] - for name, iprs in docipr.items(): - lines.append(name + "\t" + "\t".join(str(ipr_id) for ipr_id in sorted(iprs))) - - return HttpResponse("\n".join(lines), content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET) - -def by_draft_recursive_txt(request): - """Returns machine-readable list of IPR disclosures by draft name, recursive. - NOTE: this view is expensive and should be removed _after_ tools.ietf.org is retired, - including util function and management commands that generate the content for - this view.""" - - with open('/a/ietfdata/derived/ipr_draft_recursive.txt') as f: - content = f.read() - return HttpResponse(content, content_type="text/plain; charset=%s"%settings.DEFAULT_CHARSET) - def new(request, _type, updates=None): """Submit a new IPR Disclosure. If the updates field != None, this disclosure