Skip to content

Commit dceedbf

Browse files
committed
Remove tombstone support from the code, importing drafts with their
version number unhacked - Legacy-Id: 3803
1 parent 06b1ecf commit dceedbf

6 files changed

Lines changed: 15 additions & 45 deletions

File tree

ietf/idrfc/expire.py

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -203,17 +203,6 @@ def move_file(f):
203203
for t in file_types:
204204
move_file("%s-%s.%s" % (doc.name, doc.rev, t))
205205

206-
# make tombstone
207-
new_revision = "%02d" % (int(doc.rev) + 1)
208-
209-
new_file = open(os.path.join(settings.IDSUBMIT_REPOSITORY_PATH, "%s-%s.txt" % (doc.name, new_revision)), 'w')
210-
txt = render_to_string("idrfc/expire_textREDESIGN.txt",
211-
dict(doc=doc,
212-
authors=[(e.get_name(), e.address) for e in doc.authors.all()],
213-
expire_days=InternetDraft.DAYS_TO_EXPIRE))
214-
new_file.write(txt)
215-
new_file.close()
216-
217206
# now change the state
218207

219208
save_document_in_history(doc)
@@ -233,7 +222,6 @@ def move_file(f):
233222
e.desc = "Document has expired"
234223
e.save()
235224

236-
doc.rev = new_revision # FIXME: incrementing the revision like this is messed up
237225
doc.set_state(State.objects.get(type="draft", slug="expired"))
238226
doc.time = datetime.datetime.now()
239227
doc.save()
@@ -300,7 +288,7 @@ def move_file_to(subdir):
300288

301289
def clean_up_id_filesREDESIGN():
302290
"""Move unidentified and old files out of the Internet Draft directory."""
303-
cut_off = datetime.date.today() - datetime.timedelta(days=settings.INTERNET_DRAFT_DAYS_TO_EXPIRE)
291+
cut_off = datetime.date.today()
304292

305293
pattern = os.path.join(settings.IDSUBMIT_REPOSITORY_PATH, "draft-*.*")
306294
files = []
@@ -340,21 +328,19 @@ def move_file_to(subdir):
340328
try:
341329
doc = Document.objects.get(name=filename, rev=revision)
342330

343-
if doc.get_state_slug() == "rfc":
331+
state = doc.get_state_slug()
332+
333+
if state == "rfc":
344334
if ext != ".txt":
345335
move_file_to("unknown_ids")
346-
elif doc.get_state_slug() in ("expired", "repl", "auth-rm", "ietf-rm"):
347-
if doc.expires and doc.expires.date() < cut_off:
348-
# Expired, Withdrawn by Author, Replaced, Withdrawn by IETF,
349-
# and expired more than DAYS_TO_EXPIRE ago
350-
if os.path.getsize(path) < 1500:
351-
move_file_to("deleted_tombstones")
352-
# revert version after having deleted tombstone
353-
doc.rev = "%02d" % (int(revision) - 1) # FIXME: messed up
354-
doc.save()
355-
doc.tags.add(DocTagName.objects.get(slug='exp-tomb'))
356-
else:
357-
move_file_to("expired_without_tombstone")
336+
elif state in ("expired", "repl", "auth-rm", "ietf-rm") and doc.expires and doc.expires.date() < cut_off:
337+
# Expired, Replaced, Withdrawn by Author/IETF, and expired
338+
if os.path.getsize(path) < 1500:
339+
# we don't make tombstones any more so this should
340+
# go away in the future
341+
move_file_to("deleted_tombstones")
342+
else:
343+
move_file_to("expired_without_tombstone")
358344

359345
except Document.DoesNotExist:
360346
move_file_to("unknown_ids")

ietf/idrfc/testsREDESIGN.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -913,19 +913,14 @@ def test_expire_ids(self):
913913
txt = "%s-%s.txt" % (draft.name, draft.rev)
914914
self.write_id_file(txt, 5000)
915915

916-
revision_before = draft.rev
917-
918916
expire_id(draft)
919917

920918
draft = Document.objects.get(name=draft.name)
921919
self.assertEquals(draft.get_state_slug(), "expired")
922-
self.assertEquals(int(draft.rev), int(revision_before) + 1)
923920
self.assertEquals(draft.get_state_slug("draft-iesg"), "dead")
924921
self.assertTrue(draft.latest_event(type="expired_document"))
925922
self.assertTrue(not os.path.exists(os.path.join(self.id_dir, txt)))
926923
self.assertTrue(os.path.exists(os.path.join(self.archive_dir, txt)))
927-
new_txt = "%s-%s.txt" % (draft.name, draft.rev)
928-
self.assertTrue(os.path.exists(os.path.join(self.id_dir, new_txt)))
929924

930925
def test_clean_up_id_files(self):
931926
draft = make_test_data()
@@ -1004,10 +999,6 @@ def test_clean_up_id_files(self):
1004999
self.assertTrue(not os.path.exists(os.path.join(self.id_dir, txt)))
10051000
self.assertTrue(os.path.exists(os.path.join(self.archive_dir, "deleted_tombstones", txt)))
10061001

1007-
draft = Document.objects.get(name=draft.name)
1008-
self.assertEquals(int(draft.rev), int(revision_before) - 1)
1009-
self.assertTrue(draft.tags.filter(slug="exp-tomb"))
1010-
10111002
class ExpireLastCallTestCase(django.test.TestCase):
10121003
fixtures = ['names']
10131004

ietf/submit/utils.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ def perform_postREDESIGN(request, submission):
9696
try:
9797
draft = Document.objects.get(name=submission.filename)
9898
save_document_in_history(draft)
99-
draft.tags.remove(DocTagName.objects.get(slug="exp-tomb"))
10099
except Document.DoesNotExist:
101100
draft = Document(name=submission.filename)
102101
draft.intended_std_level = None

redesign/doc/models.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@ def file_tag(self):
158158
return u"<%s>" % self.filename_with_rev()
159159

160160
def filename_with_rev(self):
161-
# FIXME: compensate for tombstones?
162161
return u"%s-%s.txt" % (self.name, self.rev)
163162

164163
def latest_event(self, *args, **filter_args):

redesign/doc/proxy.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def review_by_rfc_editor(self):
173173
#expired_tombstone = models.BooleanField()
174174
@property
175175
def expired_tombstone(self):
176-
return bool(self.tags.filter(slug='exp-tomb'))
176+
return False
177177

178178
def calc_process_start_end(self):
179179
import datetime
@@ -238,10 +238,7 @@ def group_ml_archive(self):
238238
def idstate(self):
239239
return self.docstate()
240240
def revision_display(self):
241-
r = int(self.revision)
242-
if self.get_state_slug() != 'active' and not self.expired_tombstone:
243-
r = max(r - 1, 0)
244-
return "%02d" % r
241+
return self.rev
245242
def expiration(self):
246243
return self.expires.date()
247244
def can_expire(self):

redesign/importing/import-docs.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ def alias_doc(name, doc):
141141

142142
tag_review_by_rfc_editor = name(DocTagName, 'rfc-rev', "Review by RFC Editor")
143143
tag_via_rfc_editor = name(DocTagName, 'via-rfc', "Via RFC Editor")
144-
tag_expired_tombstone = name(DocTagName, 'exp-tomb', "Expired tombstone")
145144
tag_approved_in_minute = name(DocTagName, 'app-min', "Approved in minute")
146145
tag_has_errata = name(DocTagName, 'errata', "Has errata")
147146

@@ -815,7 +814,7 @@ def import_from_idinternal(d, idinternal):
815814
except State.MultipleObjectsReturned:
816815
d.set_state(State.objects.get(type="draft-stream-%s" % d.stream_id, name=s.name))
817816

818-
d.rev = o.revision
817+
d.rev = o.revision_display()
819818
d.abstract = o.abstract
820819
d.pages = o.txt_page_count
821820
d.intended_std_level = intended_std_level_mapping[o.intended_status.intended_status]
@@ -991,7 +990,6 @@ def import_from_idinternal(d, idinternal):
991990

992991
# tags
993992
sync_tag(d, o.review_by_rfc_editor, tag_review_by_rfc_editor)
994-
sync_tag(d, o.expired_tombstone, tag_expired_tombstone)
995993

996994
ctype = ContentType.objects.get_for_model(o)
997995
used_tags = AnnotationTag.objects.filter(annotationtagobjectrelation__content_type=ctype, annotationtagobjectrelation__content_id=o.pk).values_list('name', flat=True)

0 commit comments

Comments
 (0)