Changeset 6:5157af557cfb

Show
Ignore:
Timestamp:
02/09/10 02:49:47 (6 months ago)
Author:
sgk
Branch:
default
Message:

The update tool should be working.

Location:
app/src/processing/app
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • app/src/processing/app/update.py

    r5 r6  
    1010def read_po(fp): 
    1111  st = 1 
    12   comment = key = value = '' 
     12  comment = key = value = rkey = rvalue = '' 
    1313  for line in fp: 
    1414    if line[0] == '#' or line.strip() == '': 
    1515      if st == 2: 
    16         yield (comment, key, value) 
     16        yield (comment, key, value, rkey, rvalue) 
    1717        st = 1 
    18         comment = key = value = '' 
     18        comment = key = value = rkey = rvalue = '' 
    1919      comment += line 
    2020    elif line[0] == '"': 
    21       line = unquote(line) 
    2221      if st == 1: 
    23         key += line 
     22        key += unquote(line) 
     23        rkey += line 
    2424      else: 
    25         value += line 
     25        value += unquote(line) 
     26        rvalue += line 
    2627    elif line.startswith('msgid '): 
    2728      st = 1 
    2829      key = unquote(line[5:]) 
     30      rkey = line 
    2931    elif line.startswith('msgstr '): 
    3032      st = 2 
    3133      value = unquote(line[6:]) 
     34      rvalue = line 
    3235    else: 
    3336      raise RuntimeError 
    3437 
    35 def current(fp): 
    36   d = {} 
    37   it = read_po(fp) 
    38   (comment, key, value) = it.next() 
    39   d[key] = value 
    40   header = comment 
    41   for (comment, key, value) in it: 
    42     d[key] = value 
    43   return (header, d) 
    44  
    4538def main(): 
    4639  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 
    4948 
    5049  it = read_po(file(sys.argv[2])) 
    51   (comment, key, value) = it.next() 
    52   print 'msgid "%s"' % key 
    53   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: 
    5554    sys.stdout.write(comment) 
    56     print 'msgid "%s"' % key 
    57     print 'msgstr "%s"' % d.get(key, '') 
     55    sys.stdout.write(rkey) 
     56    sys.stdout.write(d.get(key, rvalue)) 
    5857 
    5958if __name__ == '__main__': 
  • app/src/processing/app/update.sh

    r5 r6  
    44xgettext -L Java --from-code=utf-8 -k_ -d "$domain" `find . -name '*.java' -print` 
    55python update.py "$target" "$domain".po > new.po 
    6 #mv new.po "$target" 
     6mv new.po "$target" 
    77rm -f "$domain".po