Newer
Older
#!/usr/bin/env python
from __future__ import print_function
import fnmatch
import os
import sys
try:
from titlecase import titlecase
except ImportError:
print("Please install titlecase")
def main(location):
# Spelling exceptions
with open('.spelling') as f:
spelling = f.readlines()
def abbreviations(word, **kwargs):
if word+"\n" in spelling:
return word
# Open the file and read the lines as a list
with open(location) as f:
lines = f.readlines()
# Loop through the list of lines and titlecase
# any line beginning with '#'.
return_value = 0
prev_line = lines.pop(0)
disabled = 0
if (line.startswith("``") or line.startswith("extra:")) and disabled == 0:
if (line.startswith("``") or prev_line.startswith("pages:")) and disabled == 1:
if line.startswith('#') and disabled == 0 and (location.find("mkdocs.yml") == -1):
if line != titlecase(line[:(line.find("]"))], callback=abbreviations)+line[(line.find("]")):]:
if return_value == 0 and echo_filename == False:
print("%s" % location)
echo_filename = True
print("+"+titlecase(line[:(line.find("]"))], callback=abbreviations)+line[(line.find("]")):],end="")
print()
if (line.startswith('---') or line.startswith('===')) and disabled == 0:
if prev_line != titlecase(prev_line[:(prev_line.find("]"))], callback=abbreviations)+prev_line[(prev_line.find("]")):]:
if return_value == 0 and echo_filename == False:
print("%s" % location)
echo_filename = True
print("+"+titlecase(prev_line[:(prev_line.find("]"))], callback=abbreviations)+prev_line[(prev_line.find("]")):],end="")
print()
if ((location.find("mkdocs.yml") != -1) and not line.startswith('#') and disabled == 0):
if line != titlecase(line[:(line.find(":"))], callback=abbreviations)+line[(line.find(":")):]:
if return_value == 0 and echo_filename == False:
print("%s" % location)
echo_filename = True
print("-"+line,end="")
print("+"+titlecase(line[:(line.find(":"))], callback=abbreviations)+line[(line.find(":")):],end="")
print()
return_value = 1
prev_line = line
exit(return_value)
if __name__ == "__main__":
try:
main(sys.argv[1])
except IndexError:
main('.')