74 lines
2.5 KiB
Python
74 lines
2.5 KiB
Python
|
|
# Takes Push instructions defined through (def-instruction and
|
|
# puts their documentation into a markdown file in docs_src
|
|
|
|
import os
|
|
from mdutils.mdutils import MdUtils
|
|
mdFile = MdUtils(file_name='src/docs_src/Additional_Instructions')
|
|
mdFile.new_header(level=1, title='Additional Instructions')
|
|
os.chdir('..')
|
|
|
|
instructionFiles = os.listdir('src/propeller/push/instructions')
|
|
instructionFiles.remove('vector.cljc')
|
|
instructionFiles.remove('polymorphic.cljc')
|
|
print(instructionFiles)
|
|
|
|
hasDefInstruction = False
|
|
for file in instructionFiles:
|
|
mdFile.new_header(level=1, title=file)
|
|
try:
|
|
print(file)
|
|
|
|
# opening and reading the file
|
|
file_read = open('src/propeller/push/instructions/'+file, "r")
|
|
|
|
# set search text
|
|
text = "(def-instruction"
|
|
|
|
# reading file content line by line.
|
|
lines = file_read.readlines()
|
|
|
|
# looping through each line in the file
|
|
# if the line contains "\(def-instruction", go through lines above that line and add
|
|
# the Clojure comments to a list which is later written into markdown file.
|
|
for count, line in enumerate(lines):
|
|
new_list = []
|
|
# print(line)
|
|
# print(count)
|
|
if text in line:
|
|
hasDefInstruction = True
|
|
# print(line)
|
|
mdFile.new_header(level=2, title=lines[count+1].strip())
|
|
isComment = True
|
|
inc = 1
|
|
while isComment:
|
|
if lines[count-inc].startswith(';;'):
|
|
new_list.append(lines[count-inc].replace(';', '').strip())
|
|
# print(lines[count-inc])
|
|
inc = inc + 1
|
|
else:
|
|
isComment = False
|
|
new_list.reverse()
|
|
for comment in new_list:
|
|
mdFile.write(comment+' ')
|
|
functionInfo = lines[count+1].strip() + lines[count-1].replace(';', '').strip()
|
|
# print(functionInfo)
|
|
new_list.append(functionInfo)
|
|
# closing file after reading
|
|
file_read.close()
|
|
|
|
# the input string doesn't
|
|
# found in the text file
|
|
if not hasDefInstruction:
|
|
print("\n\"" + text + "\" is not found in \"" + file + "\"!")
|
|
mdFile.new_paragraph('')
|
|
else:
|
|
print("There is"+text)
|
|
|
|
# entering except block
|
|
# if input file doesn't exist
|
|
except:
|
|
print("\nThe file doesn't exist!")
|
|
mdFile.new_table_of_contents()
|
|
mdFile.create_md_file()
|