Mercurial > mplayer.hg
view TOOLS/mphelp_check.py @ 27146:a8681ded2d41
r25756: Document vo gl lscale=3
r25757: Add experimental unsharp-mask OpenGL scaler.
r25767: misc spelling fixes
r25768: misc markup fixes
r25769: better ao/vo profile examples
r25786: Add a fragment program for 5x5 unsharp masking
r25821: (instead of adding quotation mark, this added a missing paragraph!)
r25955: (previously applied)
r25973: Hint about possible libmpeg2 problems with -hardframedrop
r25984: Slightly document alpha for OSD color
r26014: -dumpstream will not dump chapters anymore
r26015: Document that framedrop needs -no-correct-pts
r26017: removed wrong example
author | kraymer |
---|---|
date | Mon, 30 Jun 2008 19:35:36 +0000 |
parents | 9065db6f98d9 |
children | 8715803f09e8 |
line wrap: on
line source
#!/usr/bin/python # Tool to compare MPlayer translation files against a base file. Reports # conflicting arguments, extra strings not present in the base file and # (optionally) missing strings. # Written by Uoti Urpala import sys import re def parse(filename): r = {} f = open(filename) it = iter(f) cur = '' for line in it: line = line.strip() if not line.startswith('#define'): while line and line[-1] == '\\': line = it.next().strip() continue _, name, value = line.split(None, 2) value = value.strip('"') while line[-1] == '\\': line = it.next().strip() value += line.rstrip('\\').strip('"') r[name] = value f.close() return r def compare(base, other, show_missing=False): r = re.compile('%[^diouxXeEfFgGaAcspn%]*[diouxXeEfFgGaAcspn%]') missing = [] for key in base: if key not in other: missing.append(key) continue if re.findall(r, base[key]) != re.findall(r, other[key]): print 'Mismatch: ', key print base[key] print other[key] print del other[key] if other: extra = other.keys() extra.sort() print 'Extra: ', ' '.join(extra) if show_missing and missing: missing.sort() print 'Missing: ', ' '.join(missing) if len(sys.argv) < 3: print 'Usage:\n'+sys.argv[0]+' [--missing] base_helpfile otherfile1 '\ '[otherfile2 ...]' sys.exit(1) i = 1 show_missing = False if sys.argv[i] in ( '--missing', '-missing' ): show_missing = True i = 2 base = parse(sys.argv[i]) for filename in sys.argv[i+1:]: print '*****', filename compare(base, parse(filename), show_missing) print '\n'