File: ziptools/ziptools/__sloc__.py
#!/usr/bin/python """ A simple limited-scope source-code line count (a.k.a. sloc) script. See ziptools' ./_README.html for license, author, and other logistics. """ # py 2.X compatibility from __future__ import print_function import sys if sys.version_info[0] == 2: input = raw_input import os, glob, sys tally = count = 0 extras = glob.glob('ziptools' + os.sep + '*.py') # now nested package here extras += ['_publish.sh'] # build scripts count too for fname in sorted(glob.glob('*.py*') + extras): # files in this dir if not fname.startswith(('__sloc',)): # skip self, keep __init__ fobj = open(fname) lcnt = len(fobj.readlines()) tally += lcnt count += 1 print(fname, '=>', lcnt) print('Total sloc in %d files: %s' % (count, tally)) if sys.platform.startswith('win'): input('Press Enter') # if clicked """ ================================================================================ Example output (current counts/manifest): __init__.py => 1 __version__.py => 9 _publish.sh => 123 fix-nonportable-filenames.py => 238 selftest.py => 109 zip-create.py => 389 zip-extract.py => 297 zip-list.py => 50 ziptools/__init__.py => 3 ziptools/zipcruft.py => 105 ziptools/ziplongpaths.py => 102 ziptools/zipmodtimeutc.py => 199 ziptools/zipsymlinks.py => 402 ziptools/ziptools.py => 1482 Total sloc in 14 files: 3509 ================================================================================ """