summaryrefslogtreecommitdiff
path: root/doc/build/corrections.py
diff options
context:
space:
mode:
authorSławek Ehlert <slafs@op.pl>2015-01-27 22:04:38 +0100
committerSławek Ehlert <slafs@op.pl>2015-01-27 22:04:38 +0100
commit57b2bd5dcba6140b511c898c0f682234f13d5c51 (patch)
treea0899b2a35d27e177001b163054c3c9a8f7f1c06 /doc/build/corrections.py
parent6a1f16d09958e549502a0991890d64964c71b357 (diff)
parent8aaa8dd6bdfb85fa481efa3115b9080d935d344c (diff)
downloadsqlalchemy-pr/152.tar.gz
Merge branch 'master' into oracle-servicename-optionpr/152
Diffstat (limited to 'doc/build/corrections.py')
-rw-r--r--doc/build/corrections.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/doc/build/corrections.py b/doc/build/corrections.py
new file mode 100644
index 000000000..fa2e13a38
--- /dev/null
+++ b/doc/build/corrections.py
@@ -0,0 +1,39 @@
+targets = {}
+quit = False
+def missing_reference(app, env, node, contnode):
+ global quit
+ if quit:
+ return
+ reftarget = node.attributes['reftarget']
+ reftype = node.attributes['reftype']
+ refdoc = node.attributes['refdoc']
+ rawsource = node.rawsource
+ if reftype == 'paramref':
+ return
+
+ target = rawsource
+ if target in targets:
+ return
+ print "\n%s" % refdoc
+ print "Reftarget: %s" % rawsource
+ correction = raw_input("? ")
+ correction = correction.strip()
+ if correction == ".":
+ correction = ":%s:`.%s`" % (reftype, reftarget)
+ elif correction == 'q':
+ quit = True
+ else:
+ targets[target] = correction
+
+def write_corrections(app, exception):
+ print "#!/bin/sh\n\n"
+ for targ, corr in targets.items():
+ if not corr:
+ continue
+
+ print """find lib/ -print -type f -name "*.py" -exec sed -i '' 's/%s/%s/g' {} \;""" % (targ, corr)
+ print """find doc/build/ -print -type f -name "*.rst" -exec sed -i '' 's/%s/%s/g' {} \;""" % (targ, corr)
+
+def setup(app):
+ app.connect('missing-reference', missing_reference)
+ app.connect('build-finished', write_corrections)