diff --git a/ietf/idrfc/expire.py b/ietf/idrfc/expire.py index 21fe8bf9f..0c7e7607f 100644 --- a/ietf/idrfc/expire.py +++ b/ietf/idrfc/expire.py @@ -203,17 +203,6 @@ def expire_idREDESIGN(doc): for t in file_types: move_file("%s-%s.%s" % (doc.name, doc.rev, t)) - # make tombstone - new_revision = "%02d" % (int(doc.rev) + 1) - - new_file = open(os.path.join(settings.IDSUBMIT_REPOSITORY_PATH, "%s-%s.txt" % (doc.name, new_revision)), 'w') - txt = render_to_string("idrfc/expire_textREDESIGN.txt", - dict(doc=doc, - authors=[(e.get_name(), e.address) for e in doc.authors.all()], - expire_days=InternetDraft.DAYS_TO_EXPIRE)) - new_file.write(txt) - new_file.close() - # now change the state save_document_in_history(doc) @@ -233,7 +222,6 @@ def expire_idREDESIGN(doc): e.desc = "Document has expired" e.save() - doc.rev = new_revision # FIXME: incrementing the revision like this is messed up doc.set_state(State.objects.get(type="draft", slug="expired")) doc.time = datetime.datetime.now() doc.save() @@ -300,7 +288,7 @@ def clean_up_id_files(): def clean_up_id_filesREDESIGN(): """Move unidentified and old files out of the Internet Draft directory.""" - cut_off = datetime.date.today() - datetime.timedelta(days=settings.INTERNET_DRAFT_DAYS_TO_EXPIRE) + cut_off = datetime.date.today() pattern = os.path.join(settings.IDSUBMIT_REPOSITORY_PATH, "draft-*.*") files = [] @@ -340,21 +328,19 @@ def clean_up_id_filesREDESIGN(): try: doc = Document.objects.get(name=filename, rev=revision) - if doc.get_state_slug() == "rfc": + state = doc.get_state_slug() + + if state == "rfc": if ext != ".txt": move_file_to("unknown_ids") - elif doc.get_state_slug() in ("expired", "repl", "auth-rm", "ietf-rm"): - if doc.expires and doc.expires.date() < cut_off: - # Expired, Withdrawn by Author, Replaced, Withdrawn by IETF, - # and expired more than DAYS_TO_EXPIRE ago - if os.path.getsize(path) < 1500: - move_file_to("deleted_tombstones") - # revert version after having deleted tombstone - doc.rev = "%02d" % (int(revision) - 1) # FIXME: messed up - doc.save() - doc.tags.add(DocTagName.objects.get(slug='exp-tomb')) - else: - move_file_to("expired_without_tombstone") + elif state in ("expired", "repl", "auth-rm", "ietf-rm") and doc.expires and doc.expires.date() < cut_off: + # Expired, Replaced, Withdrawn by Author/IETF, and expired + if os.path.getsize(path) < 1500: + # we don't make tombstones any more so this should + # go away in the future + move_file_to("deleted_tombstones") + else: + move_file_to("expired_without_tombstone") except Document.DoesNotExist: move_file_to("unknown_ids") diff --git a/ietf/idrfc/testsREDESIGN.py b/ietf/idrfc/testsREDESIGN.py index 0378342a6..b5183cec4 100644 --- a/ietf/idrfc/testsREDESIGN.py +++ b/ietf/idrfc/testsREDESIGN.py @@ -913,19 +913,14 @@ class ExpireIDsTestCase(django.test.TestCase): txt = "%s-%s.txt" % (draft.name, draft.rev) self.write_id_file(txt, 5000) - revision_before = draft.rev - expire_id(draft) draft = Document.objects.get(name=draft.name) self.assertEquals(draft.get_state_slug(), "expired") - self.assertEquals(int(draft.rev), int(revision_before) + 1) self.assertEquals(draft.get_state_slug("draft-iesg"), "dead") self.assertTrue(draft.latest_event(type="expired_document")) self.assertTrue(not os.path.exists(os.path.join(self.id_dir, txt))) self.assertTrue(os.path.exists(os.path.join(self.archive_dir, txt))) - new_txt = "%s-%s.txt" % (draft.name, draft.rev) - self.assertTrue(os.path.exists(os.path.join(self.id_dir, new_txt))) def test_clean_up_id_files(self): draft = make_test_data() @@ -1004,10 +999,6 @@ class ExpireIDsTestCase(django.test.TestCase): self.assertTrue(not os.path.exists(os.path.join(self.id_dir, txt))) self.assertTrue(os.path.exists(os.path.join(self.archive_dir, "deleted_tombstones", txt))) - draft = Document.objects.get(name=draft.name) - self.assertEquals(int(draft.rev), int(revision_before) - 1) - self.assertTrue(draft.tags.filter(slug="exp-tomb")) - class ExpireLastCallTestCase(django.test.TestCase): fixtures = ['names'] diff --git a/ietf/submit/utils.py b/ietf/submit/utils.py index f3a1c773e..4d165421f 100644 --- a/ietf/submit/utils.py +++ b/ietf/submit/utils.py @@ -96,7 +96,6 @@ def perform_postREDESIGN(request, submission): try: draft = Document.objects.get(name=submission.filename) save_document_in_history(draft) - draft.tags.remove(DocTagName.objects.get(slug="exp-tomb")) except Document.DoesNotExist: draft = Document(name=submission.filename) draft.intended_std_level = None diff --git a/redesign/doc/models.py b/redesign/doc/models.py index 9f299b530..1a4c3bb3c 100644 --- a/redesign/doc/models.py +++ b/redesign/doc/models.py @@ -158,7 +158,6 @@ class Document(DocumentInfo): return u"<%s>" % self.filename_with_rev() def filename_with_rev(self): - # FIXME: compensate for tombstones? return u"%s-%s.txt" % (self.name, self.rev) def latest_event(self, *args, **filter_args): diff --git a/redesign/doc/proxy.py b/redesign/doc/proxy.py index 84641b195..ff94aab3c 100644 --- a/redesign/doc/proxy.py +++ b/redesign/doc/proxy.py @@ -173,7 +173,7 @@ class InternetDraft(Document): #expired_tombstone = models.BooleanField() @property def expired_tombstone(self): - return bool(self.tags.filter(slug='exp-tomb')) + return False def calc_process_start_end(self): import datetime @@ -238,10 +238,7 @@ class InternetDraft(Document): def idstate(self): return self.docstate() def revision_display(self): - r = int(self.revision) - if self.get_state_slug() != 'active' and not self.expired_tombstone: - r = max(r - 1, 0) - return "%02d" % r + return self.rev def expiration(self): return self.expires.date() def can_expire(self): diff --git a/redesign/importing/import-docs.py b/redesign/importing/import-docs.py index 71cac5902..dd800365d 100755 --- a/redesign/importing/import-docs.py +++ b/redesign/importing/import-docs.py @@ -141,7 +141,6 @@ substate_mapping = { tag_review_by_rfc_editor = name(DocTagName, 'rfc-rev', "Review by RFC Editor") tag_via_rfc_editor = name(DocTagName, 'via-rfc', "Via RFC Editor") -tag_expired_tombstone = name(DocTagName, 'exp-tomb', "Expired tombstone") tag_approved_in_minute = name(DocTagName, 'app-min', "Approved in minute") tag_has_errata = name(DocTagName, 'errata', "Has errata") @@ -815,7 +814,7 @@ for index, o in enumerate(all_drafts.iterator()): except State.MultipleObjectsReturned: d.set_state(State.objects.get(type="draft-stream-%s" % d.stream_id, name=s.name)) - d.rev = o.revision + d.rev = o.revision_display() d.abstract = o.abstract d.pages = o.txt_page_count d.intended_std_level = intended_std_level_mapping[o.intended_status.intended_status] @@ -991,7 +990,6 @@ for index, o in enumerate(all_drafts.iterator()): # tags sync_tag(d, o.review_by_rfc_editor, tag_review_by_rfc_editor) - sync_tag(d, o.expired_tombstone, tag_expired_tombstone) ctype = ContentType.objects.get_for_model(o) used_tags = AnnotationTag.objects.filter(annotationtagobjectrelation__content_type=ctype, annotationtagobjectrelation__content_id=o.pk).values_list('name', flat=True)