Commit 73f1bf18 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

change back to python 3.9

parent ea6db6ba
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
FROM python:3.14-slim
FROM python:3.9-slim-bullseye


ADD /generateBaseline/ /generateBaseline/
ADD /generateBaseline/ /generateBaseline/
RUN apt-get update -y && \
RUN apt-get update -y && \
+12 −6
Original line number Original line Diff line number Diff line
@@ -98,7 +98,7 @@ def prepareForMkdocs(document:Document, includeHangingParagraphs:bool = False) -
				clause.lines[i].text = '  ' + line.text
				clause.lines[i].text = '  ' + line.text




def writeClausesMkDocs(document:Document, filename:str, navTitle:str, addNavTitle:bool = False) -> None:
def writeClausesMkDocs(document:Document, filename:str, navTitle:str, addNavTitle:bool = False, clauseName:bool = False) -> None:
	"""	Write the clauses to separate files and create a navigation file.
	"""	Write the clauses to separate files and create a navigation file.


		Args:
		Args:
@@ -114,9 +114,14 @@ def writeClausesMkDocs(document:Document, filename:str, navTitle:str, addNavTitl


	# Write the files
	# Write the files
	for i, f in enumerate(document.clauses):
	for i, f in enumerate(document.clauses):
		if clauseName:
			filename = f'{f.title}.md'
		else:
			filename = f'{f.clauseNumber}.md'

		# write to single files, even empty ones
		# write to single files, even empty ones
		printDebug(f'Writing "{f.clauseNumber}.md" - "{f.title}"')
		printDebug(f'Writing "{f.title}.md" - "{f.title}"')
		with open(f'{os.path.dirname(filename)}/{navTitle}/{f.clauseNumber}.md', 'w') as file:
		with open(f'{os.path.dirname(filename)}/{navTitle}/{filename}', 'w') as file:
			# Add one empty line before the clause. This is done to avoid
			# Add one empty line before the clause. This is done to avoid
			# a bug in MkDocs that does not display the first line of a clause
			# a bug in MkDocs that does not display the first line of a clause
			# if it contains a colon. It does not matter otherwise if the line
			# if it contains a colon. It does not matter otherwise if the line
@@ -142,11 +147,11 @@ def writeClausesMkDocs(document:Document, filename:str, navTitle:str, addNavTitl
			_title = f.title.replace("'", '"')
			_title = f.title.replace("'", '"')
			nextClause = document.clauses[i+1] if i+1 < len(document.clauses) else None
			nextClause = document.clauses[i+1] if i+1 < len(document.clauses) else None
			if nextClause is None or nextClause.level <= f.level:
			if nextClause is None or nextClause.level <= f.level:
				file.write(f"{indentation}{'  '*f.level}- '{_title}': '{navTitle}/{f.clauseNumber}.md'\n")
				file.write(f"{indentation}{'  '*f.level}- '{_title}': '{navTitle}/{filename}'\n")
			else:
			else:
				file.write(f"{indentation}{'  '*f.level}- '{_title}':\n")
				file.write(f"{indentation}{'  '*f.level}- '{_title}':\n")
				if len(f) > 0:
				if len(f) > 0:
					file.write(f"{indentation}{'  '*nextClause.level}- 'Hanging paragraph': '{navTitle}/{f.clauseNumber}.md'\n")
					file.write(f"{indentation}{'  '*nextClause.level}- 'Hanging paragraph': '{navTitle}/{filename}'\n")




# TODO handle multiple nav levels (left bar) better (make conifgurable)
# TODO handle multiple nav levels (left bar) better (make conifgurable)
@@ -208,6 +213,7 @@ def main() -> None:
	parser.add_argument('--media-directory', '-md', metavar = 'media-directory', default = 'media', help = 'directory name where media files are stored')
	parser.add_argument('--media-directory', '-md', metavar = 'media-directory', default = 'media', help = 'directory name where media files are stored')
	parser.add_argument('--title', '-t', metavar = 'title', required = True, help = 'mkdocs navigation tile')
	parser.add_argument('--title', '-t', metavar = 'title', required = True, help = 'mkdocs navigation tile')
	parser.add_argument('--nav-add-title', '-nat', action = 'store_true', default = False, help = 'add the title as an extra navigation level to the navigation file')
	parser.add_argument('--nav-add-title', '-nat', action = 'store_true', default = False, help = 'add the title as an extra navigation level to the navigation file')
	parser.add_argument('--clause-name', '-cn', action = 'store_true', default = False, help = 'Output filenames as clause title instead of clause number')


	parser.add_argument('document', type = str, help = 'a oneM2M markdown specification document to process')
	parser.add_argument('document', type = str, help = 'a oneM2M markdown specification document to process')
	args = parser.parse_args()
	args = parser.parse_args()