contrib/tmplrewrite.py
author Siddharth Agarwal <sid0@fb.com>
Mon, 25 Mar 2013 17:40:39 -0700
changeset 18820 a45e44d76c81
parent 8432 94ef2c8ce683
permissions -rwxr-xr-x
mercurial: implement diff and join for dicts Given two dicts, diff returns a dict containing all the keys that are present in one dict but not the other, or whose values are different between the dicts. The values are pairs of the values from the dicts, with missing values being represented as an optional argument, defaulting to None. Given two dicts, join performs what is known as an outer join in relational database land: it returns a dict containing all the keys across both dicts. The values are pairs as above, except they aren't compared to see if they're the same.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8432
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     1
#!/usr/bin/python
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     2
import sys, os, re
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     3
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     4
IGNORE = ['.css', '.py']
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     5
oldre = re.compile('#([\w\|%]+)#')
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     6
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     7
def rewrite(fn):
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     8
    f = open(fn)
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     9
    new = open(fn + '.new', 'wb')
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    10
    for ln in f:
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    11
        new.write(oldre.sub('{\\1}', ln))
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    12
    new.close()
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    13
    f.close()
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    14
    os.rename(new.name, f.name)
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    15
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    16
if __name__ == '__main__':
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    17
    if len(sys.argv) < 2:
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    18
        print 'usage: python tmplrewrite.py [file [file [file]]]'
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    19
    for fn in sys.argv[1:]:
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    20
        if os.path.splitext(fn) in IGNORE:
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    21
            continue
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    22
        print 'rewriting %s...' % fn
94ef2c8ce683 contrib: add tmplrewrite.py script to help rewrite old templater syntax
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    23
        rewrite(fn)