File: android-deltas-sync/_etc/__sloc__.py
#!/usr/bin/python3
"""
A simple limited-scope source-code line count (a.k.a. sloc) script.
See ../_README.html for license, attribution, and other logistics.
"""
import os, sys
from glob import glob
tally = count = 0
os.chdir('..')
# main code
scripts = glob('*.py') # main scripts + configs: Python
# bash original
scripts += glob('_etc/bash-version/*.sh') # main scripts: Bash
scripts += glob('_etc/bash-version/config*.txt') # configs (really Bash)
# miscellany
scripts += glob('_etc/termux-widget-shims/*.py') # shims for android widget
scripts += ['../_publish.sh'] # build scripts count too
scripts += ['_etc/screenshots/_generate.sh'] # so do gallery builds
scripts += ['_etc/gadgetpics/_generate.sh']
scripts += ['_etc/convertunicode.py'] # a mid-release addition [1.1]
scripts += ['_etc/find-all-symlinks.py'] # a utility script [1.2]
# 5 new widget install scripts [1.2]
scripts += ['_etc/termux-widget-shims/_INSTALL-ALL.sh']
scripts += ['_etc/termux-widget-shims/_config-widget.sh']
scripts += ['_etc/termux-widget-shims/_install-shims.sh']
scripts += glob('_etc/termux-widget-shims/icons/_install-icons-*.sh')
for fname in sorted(scripts): # files in this system
if not fname.startswith(('__sloc',)): # skip self (if ever moved)
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 (and current counts/manifest):
../_publish.sh => 164
_etc/bash-version/common.sh => 138
_etc/bash-version/config-pc.txt => 31
_etc/bash-version/config-phone.txt => 37
_etc/bash-version/initial-copy-part1-pc.sh => 105
_etc/bash-version/initial-copy-part2-phone.sh => 77
_etc/bash-version/sync-changes-part1-pc.sh => 109
_etc/bash-version/sync-changes-part2-phone.sh => 84
_etc/bash-version/z-postcopy-hook-phone.sh => 49
_etc/convertunicode.py => 236
_etc/find-all-symlinks.py => 108
_etc/gadgetpics/_generate.sh => 34
_etc/screenshots/_generate.sh => 48
_etc/termux-widget-shims/_INSTALL-ALL.sh => 23
_etc/termux-widget-shims/_config-widget.sh => 27
_etc/termux-widget-shims/_install-shims.sh => 22
_etc/termux-widget-shims/export-phone.py => 37
_etc/termux-widget-shims/icons/_install-icons-alts.sh => 23
_etc/termux-widget-shims/icons/_install-icons-same.sh => 23
_etc/termux-widget-shims/initial-copy.py => 48
_etc/termux-widget-shims/sync-changes.py => 34
_etc/termux-widget-shims/verify-phone.py => 34
common.py => 809
config_pc.py => 110
config_phone.py => 136
initial-copy-part1-pc.py => 150
initial-copy-part2-phone.py => 130
sync-changes-part1-pc.py => 177
sync-changes-part2-phone.py => 145
x-export-phone-part1-phone.py => 142
x-export-phone-part2-pc.py => 213
x-verify-phone-part1-phone.py => 149
x-verify-phone-part2-pc.py => 194
z_postcopy_hook_phone.py => 75
Total sloc in 34 files: 3921
================================================================================
"""