diff options
| author | Andrew M. Kuchling <amk@amk.ca> | 2010-02-22 21:04:02 (GMT) |
|---|---|---|
| committer | Andrew M. Kuchling <amk@amk.ca> | 2010-02-22 21:04:02 (GMT) |
| commit | f2055ae43d25013d9e7b74c2cf23128b28229557 (patch) | |
| tree | 0860a5ec892332e62ecedff3d24153a3e7f7dae2 /Tools/modulator/varsubst.py | |
| parent | 1ce6136018b6e1447368e1cc9ec3b70b0dd8729d (diff) | |
| download | cpython-f2055ae43d25013d9e7b74c2cf23128b28229557.zip cpython-f2055ae43d25013d9e7b74c2cf23128b28229557.tar.gz cpython-f2055ae43d25013d9e7b74c2cf23128b28229557.tar.bz2 | |
Remove Tools/modulator, a reference to it in the docs, and a screenshot of it.
(I asked the BDFL first, and he approved removing it. The last actual bugfix
to Tools/modulator was in 2001; since then all changes have been search-and-replace:
string methods, whitespace fixes, etc.)
Diffstat (limited to 'Tools/modulator/varsubst.py')
| -rw-r--r-- | Tools/modulator/varsubst.py | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/Tools/modulator/varsubst.py b/Tools/modulator/varsubst.py deleted file mode 100644 index 3b33950..0000000 --- a/Tools/modulator/varsubst.py +++ /dev/null @@ -1,56 +0,0 @@ -# -# Variable substitution. Variables are $delimited$ -# -import re - -error = 'varsubst.error' - -class Varsubst: - def __init__(self, dict): - self.dict = dict - self.prog = re.compile('\$([a-zA-Z0-9_]*)\$') - self.do_useindent = 0 - - def useindent(self, onoff): - self.do_useindent = onoff - - def subst(self, s): - rv = '' - while 1: - m = self.prog.search(s) - if not m: - return rv + s - rv = rv + s[:m.start()] - s = s[m.end():] - if m.end() - m.start() == 2: - # Escaped dollar - rv = rv + '$' - s = s[2:] - continue - name = m.group(1) - if not self.dict.has_key(name): - raise error, 'No such variable: '+name - value = self.dict[name] - if self.do_useindent and '\n' in value: - value = self._modindent(value, rv) - rv = rv + value - - def _modindent(self, value, old): - lastnl = old.rfind('\n', 0) + 1 - lastnl = len(old) - lastnl - sub = '\n' + (' '*lastnl) - return re.sub('\n', sub, value) - -def _test(): - import sys - import os - - sys.stderr.write('-- Copying stdin to stdout with environment map --\n') - c = Varsubst(os.environ) - c.useindent(1) - d = sys.stdin.read() - sys.stdout.write(c.subst(d)) - sys.exit(1) - -if __name__ == '__main__': - _test() |
