@@ -37,8 +37,8 @@ from ietf.doc.models import Document
3737
3838
3939args = sys .argv [1 :]
40- if len (args ) < 1 :
41- warn ("Expected '$ %s DRAFTNAME', but found no arguments -- exiting" % program )
40+ if len (args ) < 3 :
41+ warn ("Expected '$ %s DRAFTNAME USER.LOG POSTFIX.LOG ', but found no arguments -- exiting" % program )
4242 sys .exit (1 )
4343
4444draft = args [0 ]
@@ -56,35 +56,43 @@ from_email = settings.IDSUBMIT_FROM_EMAIL
5656if "<" in from_email :
5757 from_email = from_email .split ("<" )[1 ].split (">" )[0 ]
5858
59- submission = IdSubmissionDetail .objects .filter (filename = draft ).order_by ( '-pk' )[ 0 ]
59+ submission = IdSubmissionDetail .objects .filter (filename = draft ).latest ( 'submission_date' )
6060document = Document .objects .get (name = draft )
6161emails = [ author .address for author in document .authors .all () ]
6262
63- file = Path (settings .INTERNET_DRAFT_PATH ) / ("%s-%s.txt" % (draft , submission .revision ))
64-
65- upload_time = time .localtime (file .mtime )
66- timestr1 = time .strftime ("%b %d %H:%M" , upload_time )
67- timestr2 = timestr1 [:- 1 ] + chr (((ord (timestr1 [- 1 ])- ord ('0' )+ 1 )% 10 )+ ord ('0' ))
68- note ("Looking for mail log lines timestamped %s, also checking %s ..." % (timestr1 , timestr2 ))
63+ timestrings = []
64+ for file in [ Path (settings .INTERNET_DRAFT_PATH ) / ("%s-%s.txt" % (draft , submission .revision )),
65+ Path (settings .IDSUBMIT_STAGING_PATH ) / ("%s-%s.txt" % (draft , submission .revision )) ]:
66+ if os .path .exists (file ):
67+ upload_time = time .localtime (file .mtime )
68+ ts = time .strftime ("%b %d %H:%M" , upload_time )
69+ timestrings += [ ts ]
70+ timestrings += [ ts [:- 1 ] + chr (((ord (ts [- 1 ])- ord ('0' )+ 1 )% 10 )+ ord ('0' )) ]
71+ print "Looking for mail log lines timestamped %s, also checking %s ..." % (timestrings [0 ], timestrings [1 ])
6972
7073for log in logfiles :
71- note ( "\n Checking %s ...\n " % log )
74+ print "\n Checking %s ...\n " % log
7275 if log .endswith ('.gz' ):
7376 import gzip
7477 logfile = gzip .open (log )
7578 else :
7679 logfile = open (log )
7780 queue_ids = []
7881 for line in logfile :
79- if line .startswith (timestr1 ) or line .startswith (timestr2 ):
80- if from_email in line :
81- for to_email in emails :
82- if to_email in line :
83- sys .stdout .write (line )
84- if "queued_as:" in line :
85- queue_ids += [ line .split ("queued_as:" )[1 ].split ("," )[0 ] ]
86- elif queue_ids :
87- for qi in queue_ids :
88- if qi in line :
89- sys .stdout .write (line )
90-
82+ if from_email in line and "Confirmation for Auto-Post of I-D " + draft in line :
83+ ts = line [:12 ]
84+ timestrings += [ ts ]
85+ print "Found a mention of %s, adding timestamp %s: \n %s" % (draft , ts , line )
86+ for ts in timestrings :
87+ if line .startswith (ts ):
88+ if from_email in line :
89+ for to_email in emails :
90+ if to_email in line :
91+ sys .stdout .write (line )
92+ if "queued_as:" in line :
93+ queue_ids += [ line .split ("queued_as:" )[1 ].split ("," )[0 ] ]
94+ elif queue_ids :
95+ for qi in queue_ids :
96+ if qi in line :
97+ sys .stdout .write (line )
98+
0 commit comments