File: mychecker

package info (click to toggle)
solfege 3.23.4-13
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 29,744 kB
  • sloc: python: 26,939; xml: 4,380; ansic: 1,544; sh: 807; makefile: 655; perl: 8; exp: 7
file content (38 lines) | stat: -rwxr-xr-x 1,054 bytes parent folder | download | duplicates (3)
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
34
35
36
37
38
#!/usr/bin/python
# Solfege - free ear training software
# Copyright (C) 2007 Tom Cato Amundsen
# License is GPL, see file COPYING

# I use this script with pychecker 0.8.17

import os
import shutil
import sys


def tmpfilename(s):
    p, fn = os.path.split(s)
    return os.path.join(p, "pychecker-tmp-" + fn)

def check_file(fn):
    tmpfn = tmpfilename(fn)
    s = open(fn, 'rU').read()
    outfile = open(tmpfn, 'w')
    lines = s.split("\n")
    two_first_are_empty = True
    for x in range(2):
        if not lines[x].startswith("#") or not lines[x].strip():
            two_first_are_empty = False
    head = [x for x in lines if '__future__' in x]
    head.append("import solfege.i18n")
    head.append("solfege.i18n.setup('.')")
    lines = [x for x in lines if '__future__' not in x]
    outfile.write("\n".join(head))
    outfile.write("\n".join(lines[int(two_first_are_empty)*2:]))
    outfile.close()
    os.system('pychecker --limit 60 %s' % tmpfn)
    os.remove(tmpfn)
    os.remove(tmpfn+"c")

for fn in sys.argv[1:]:
    check_file(fn)