65 lines
2.1 KiB
Python
65 lines
2.1 KiB
Python
"""Python application main file for the repository
|
|
|
|
In this file all python code is referenced and executed that is included in this courses repository.
|
|
The main file is used to run the code and to test the functionality of the code.
|
|
|
|
Functionality of the code is loaded from modules found in folder /src.
|
|
|
|
"""
|
|
|
|
import os
|
|
import sys
|
|
from src import markdown_to_html
|
|
from src import file_handler
|
|
|
|
|
|
def main():
|
|
"""Main function of the courses module.
|
|
|
|
This function is the entry point for the courses module.
|
|
The function loads the files from the /courses folder and sorts them by file type.
|
|
Markdown files are converted to html files and saved in the /html folder.
|
|
"""
|
|
# Load markdown files from /courses folder
|
|
course_files = file_handler.load_files("courses")
|
|
markdown_files = file_handler.sort_files(course_files, "md")
|
|
html_output_files = file_handler.sort_files(course_files, "html")
|
|
|
|
# check /html folder
|
|
if os.path.exists("html"):
|
|
# load html files from /html folder
|
|
html_files = file_handler.load_files("html")
|
|
# extend converted_files with html files
|
|
html_output_files.extend(html_files)
|
|
else:
|
|
# create /html folder
|
|
os.makedirs("html")
|
|
|
|
for file in html_output_files:
|
|
print(f"HTML file: {file}")
|
|
name = os.path.splitext(os.path.basename(file))[0]
|
|
print(f"Name: {name}")
|
|
|
|
# move to /html folder
|
|
dst_file = f"html/{os.path.basename(file)}"
|
|
if not os.path.exists(dst_file):
|
|
os.rename(file, dst_file)
|
|
print(f"Moved file to /html folder: {dst_file}")
|
|
else:
|
|
print(f"File already exists in /html folder: {dst_file}")
|
|
|
|
# get course markdown file name
|
|
course_file = f"courses\\{name}.md"
|
|
|
|
# remove markdown file from list markdown_files
|
|
if course_file in markdown_files:
|
|
markdown_files.remove(course_file)
|
|
print(f"Removed markdown file from list: {course_file}")
|
|
|
|
# Convert remaining markdown files to html files
|
|
markdown_to_html.convert_markdown_files(markdown_files)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|