iwla/tools/extract_doc.py

49 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python
import sys
import re
excludes = []
# excludes = [r'.*_diff.py']
filename = sys.argv[1]
printName = False
if filename == '-p':
filename = sys.argv[2]
printName = True
if filename.endswith('__init__.py'):
sys.exit(0)
for e in excludes:
if re.match(e, filename):
sys.stderr.write('\tSkip %s\n' % (filename))
sys.exit(0)
if printName:
sys.stdout.write(' * %s\n' % (filename))
sys.exit(0)
package_name = filename.replace('/', '.').replace('.py', '')
sys.stdout.write('%s' % (package_name))
sys.stdout.write('\n')
# sys.stdout.write('\n\n')
sys.stdout.write('-' * len(package_name))
sys.stdout.write('\n\n')
sys.stderr.write('\tExtract doc from %s\n' % (filename))
with open(filename) as infile:
copy = False
for line in infile:
if line.strip() in ['"""', "'''"]:
if not copy:
copy = True
else:
break
elif copy:
sys.stdout.write(' %s' % (line))
sys.stdout.write('\n\n')