Changeset 6:5157af557cfb
- Timestamp:
- 02/09/10 02:49:47 (6 months ago)
- Branch:
- default
- Location:
- app/src/processing/app
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
app/src/processing/app/update.py
r5 r6 10 10 def read_po(fp): 11 11 st = 1 12 comment = key = value = ''12 comment = key = value = rkey = rvalue = '' 13 13 for line in fp: 14 14 if line[0] == '#' or line.strip() == '': 15 15 if st == 2: 16 yield (comment, key, value )16 yield (comment, key, value, rkey, rvalue) 17 17 st = 1 18 comment = key = value = ''18 comment = key = value = rkey = rvalue = '' 19 19 comment += line 20 20 elif line[0] == '"': 21 line = unquote(line)22 21 if st == 1: 23 key += line 22 key += unquote(line) 23 rkey += line 24 24 else: 25 value += line 25 value += unquote(line) 26 rvalue += line 26 27 elif line.startswith('msgid '): 27 28 st = 1 28 29 key = unquote(line[5:]) 30 rkey = line 29 31 elif line.startswith('msgstr '): 30 32 st = 2 31 33 value = unquote(line[6:]) 34 rvalue = line 32 35 else: 33 36 raise RuntimeError 34 37 35 def current(fp):36 d = {}37 it = read_po(fp)38 (comment, key, value) = it.next()39 d[key] = value40 header = comment41 for (comment, key, value) in it:42 d[key] = value43 return (header, d)44 45 38 def main(): 46 39 import sys 47 (header, d) = current(file(sys.argv[1])) 48 sys.stdout.write(header) 40 41 d = {} 42 it = read_po(file(sys.argv[1])) 43 (comment, key, value, rkey, rvalue) = it.next() 44 d[key] = rvalue 45 sys.stdout.write(comment) 46 for (comment, key, value, rkey, rvalue) in it: 47 d[key] = rvalue 49 48 50 49 it = read_po(file(sys.argv[2])) 51 (comment, key, value ) = it.next()52 print 'msgid "%s"' % key53 print 'msgstr "%s"' % d.get(key, '')54 for (comment, key, value ) in it:50 (comment, key, value, rkey, rvalue) = it.next() 51 sys.stdout.write(rkey) 52 sys.stdout.write(d.get(key, rvalue)) 53 for (comment, key, value, rkey, rvalue) in it: 55 54 sys.stdout.write(comment) 56 print 'msgid "%s"' % key57 print 'msgstr "%s"' % d.get(key, '')55 sys.stdout.write(rkey) 56 sys.stdout.write(d.get(key, rvalue)) 58 57 59 58 if __name__ == '__main__': -
app/src/processing/app/update.sh
r5 r6 4 4 xgettext -L Java --from-code=utf-8 -k_ -d "$domain" `find . -name '*.java' -print` 5 5 python update.py "$target" "$domain".po > new.po 6 #mv new.po "$target"6 mv new.po "$target" 7 7 rm -f "$domain".po