httprepo: order URL query string fields for readability
- cmd is always first, since the other fields are arguments to that command.
- The other fields are in alphabetical order, rather than random order.
example "hg serve" output
BEFORE
127.0.0.1 - - [26/Feb/2011 14:20:07] "GET /?bases=
fa5962be1d87fe9a57244a14033550e192e57521+
1a38f137b190482eaf0986594cd6e6b486c76fec&cmd=changegroupsubset&heads=
1a38f137b190482eaf0986594cd6e6b486c76fec+
fa5962be1d87fe9a57244a14033550e192e57521 HTTP/1.1" 200 -
127.0.0.1 - - [26/Feb/2011 14:00:50] "GET /?pairs=
0000000000000000000000000000000000000000-
0000000000000000000000000000000000000000&cmd=between HTTP/1.1" 200 -
127.0.0.1 - - [26/Feb/2011 14:17:28] "GET /?nodes=
1a38f137b190482eaf0986594cd6e6b486c76fec+
fa5962be1d87fe9a57244a14033550e192e57521&cmd=branches HTTP/1.1" 200 -
AFTER
127.0.0.1 - - [26/Feb/2011 14:21:28] "GET /?cmd=changegroupsubset&bases=
fa5962be1d87fe9a57244a14033550e192e57521+
1a38f137b190482eaf0986594cd6e6b486c76fec&heads=
1a38f137b190482eaf0986594cd6e6b486c76fec+
fa5962be1d87fe9a57244a14033550e192e57521 HTTP/1.1" 200 -
127.0.0.1 - - [26/Feb/2011 13:48:13] "GET /?cmd=between&pairs=
0000000000000000000000000000000000000000-
0000000000000000000000000000000000000000 HTTP/1.1" 200 -
127.0.0.1 - - [26/Feb/2011 14:19:17] "GET /?cmd=branches&nodes=
1a38f137b190482eaf0986594cd6e6b486c76fec+
fa5962be1d87fe9a57244a14033550e192e57521 HTTP/1.1" 200 -
#!/usr/bin/python
import sys, os, re
IGNORE = ['.css', '.py']
oldre = re.compile('#([\w\|%]+)#')
def rewrite(fn):
f = open(fn)
new = open(fn + '.new', 'wb')
for ln in f:
new.write(oldre.sub('{\\1}', ln))
new.close()
f.close()
os.rename(new.name, f.name)
if __name__ == '__main__':
if len(sys.argv) < 2:
print 'usage: python tmplrewrite.py [file [file [file]]]'
for fn in sys.argv[1:]:
if os.path.splitext(fn) in IGNORE:
continue
print 'rewriting %s...' % fn
rewrite(fn)