File: UpgradeNotebookParams.py

package info (click to toggle)
boa-constructor 0.4.4cvs20050714-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 10,080 kB
  • ctags: 9,175
  • sloc: python: 56,189; sh: 545; makefile: 40
file content (33 lines) | stat: -rw-r--r-- 1,183 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import re, sys, os

addPageParams = re.compile("\s*parent\.AddPage\("\
  "(?P<select>bSelect)\s*=\s*((true|false)|[\w\.]+),\s*"\
  "(?P<imageId>imageId)\s*=\s*([-]?[0-9]+|[\w\.]+),\s*"\
  "(?P<page>pPage)\s*=\s*self.\w+,\s*"\
  "(?P<text>strText)\s*=\s*(('(?<=').*')|[\w\.])", re.M)

def UpdateNotebookParams(filename):
    oldSrc = src = open(filename).read()
    while 1:
        m = addPageParams.search(src)
        if m:
            #for grp in ('select', 'imageId', 'page', 'text'):
            src = src[:m.start('select')]+'select'+\
              src[m.end('select'):m.start('imageId')]+'imageId'+\
              src[m.end('imageId'):m.start('page')]+'page'+\
              src[m.end('page'):m.start('text')]+'text'+\
              src[m.end('text'):]
        else:
            break
    if oldSrc != src:
        os.rename(filename, filename+'.bak')
        open(filename, 'w').write(src)
        print 'Updated', filename
    else:
        print 'Source for', filename, 'unchanged'
    

if __name__ == '__main__':
    assert len(sys.argv) >= 2, 'Missing filename(s) on the command-line to correct'
    for filename in sys.argv[1:]:
        UpdateNotebookParams(filename)