blob: 5804cd6ffee06a518051aaa450f783a181c55bf9 (
plain)
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
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Source line counter
~~~~~~~~~~~~~~~~~~~
Count the lines of code in pocoo, colubrid and jinja.
Requires an svn checkout.
:copyright: 2006 by Armin Ronacher.
:license: GNU GPL, see LICENSE for more details.
"""
from pocoo.utils.path import Path
def main(root, search):
LOC = 0
root = Path(root).realpath()
offset = len(root) + 1
print '+%s+' % ('=' * 78)
print '| Lines of Code %s |' % (' ' * 62)
print '+%s+' % ('=' * 78)
for folder in search:
folder = Path(root).joinpath(folder).realpath()
for fn in folder.walk():
if fn.endswith('.py') or fn.endswith('.js'):
try:
fp = file(fn)
lines = sum(1 for l in fp.read().splitlines() if l.strip())
except:
print '%-70sskipped' % fn
else:
LOC += lines
print '| %-68s %7d |' % (fn[offset:], lines)
fp.close()
print '+%s+' % ('-' * 78)
print '| Total Lines of Code: %55d |' % LOC
print '+%s+' % ('-' * 78)
if __name__ == '__main__':
main('../../../', [
'pocoo/trunk',
'colubrid/trunk',
'jinja/trunk'
])
|