hgbook
diff en/fblinks @ 21:ce3339dbeb6f
Get beta feedback stuff into better shape.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Wed Jul 05 00:14:15 2006 -0700 (2006-07-05) |
parents | e6f4088ebe52 |
children | 9457add294b8 |
line diff
1.1 --- a/en/fblinks Tue Jul 04 16:41:31 2006 -0700 1.2 +++ b/en/fblinks Wed Jul 05 00:14:15 2006 -0700 1.3 @@ -5,12 +5,12 @@ 1.4 import re 1.5 import sys 1.6 1.7 -hg_id = sys.argv[1][:12] 1.8 +hg_id = sys.argv[1] 1.9 1.10 dest_dir = sys.argv[2] 1.11 1.12 -empty_re = re.compile('^\s*$') 1.13 -line_re = re.compile('^(\w+)(.*)') 1.14 +empty_re = re.compile(r'^\s*$') 1.15 +line_re = re.compile(r'^(\w+)(.*)') 1.16 1.17 try: 1.18 os.makedirs(dest_dir) 1.19 @@ -19,7 +19,19 @@ 1.20 raise 1.21 1.22 def feedback(name, text, line): 1.23 - return r'\marginpar{\scriptsize \href{http://www.sourcecontrol.org/book/feedback.cgi?id=%s&file=%s&line=%d}{Feedback?}}' % (hg_id, name, line) 1.24 + return r'\marginpar{\scriptsize \href{http://demesne:8000/book/feedback/submit/%s/%s/%d/}{Feedback}}' % (hg_id, name, line) 1.25 + 1.26 +ctxs = {} 1.27 +try: 1.28 + cfp = open(os.path.join(dest_dir, 'rev-' + hg_id + '.ctx'), 'r+') 1.29 + for line in cfp: 1.30 + f, l, c = line.split(':', 2) 1.31 + ctxs[(f, int(l))] = c.strip() 1.32 +except IOError, err: 1.33 + if err.errno != errno.ENOENT: raise 1.34 + cfp = open(os.path.join(dest_dir, 'rev-' + hg_id + '.ctx'), 'w+') 1.35 + 1.36 +changes = 0 1.37 1.38 for name in sys.argv[3:]: 1.39 if not name.endswith('.tex'): 1.40 @@ -34,8 +46,20 @@ 1.41 if new_par: 1.42 m = line_re.match(line) 1.43 if m: 1.44 + ls = line.strip() 1.45 + if ctxs.get((name, line_num)) != ls: 1.46 + ctxs[(name, line_num)] = ls 1.47 + changes += 1 1.48 line = m.group(1) + feedback(name, line, line_num) + m.group(2) 1.49 new_par = False 1.50 elif not line.strip(): 1.51 new_par = True 1.52 ofp.write(line) 1.53 + 1.54 +if changes: 1.55 + cfp.seek(0) 1.56 + print '%s: %d changes' % (cfp.name, changes) 1.57 + ctxs = ctxs.items() 1.58 + ctxs.sort() 1.59 + for ((file, line), content) in ctxs: 1.60 + cfp.write('%s:%d: %s\n' % (file, line, content))