Skip to content
Snippets Groups Projects
Commit b068d483 authored by Jan Siwiec's avatar Jan Siwiec
Browse files

Merge branch 'fix' into 'master'

modified:   .gitlab-ci.yml

See merge request !475
parents cafa83eb 838b6e0e
No related branches found
No related tags found
1 merge request!475modified: .gitlab-ci.yml
Pipeline #39793 failed
......@@ -34,9 +34,11 @@ pysafety:
capitalize:
stage: test
image: it4innovations/docker-mkdocscheck:latest
allow_failure: true
before_script:
- source /opt/.venv3/bin/activate
- python -V # debug
- pip list | grep titlecase
script:
- find mkdocs.yml docs.it4i/ \( -name '*.md' -o -name '*.yml' \) -print0 | xargs -0 -n1 scripts/titlemd.py --test
......
......@@ -835,4 +835,4 @@ it4ifree
it4ifsusage
it4iuserfsusage
it4iprojectfsusage
it4imotd
\ No newline at end of file
it4imotd
#!/usr/bin/env python2
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
""" titlemd """
# pylint: disable=C0301, R1710
from __future__ import print_function
""" titlemd """
import argparse
import sys
......@@ -14,7 +14,7 @@ except ImportError:
def arg_parse():
"""
argument parser
Argument parser
"""
parser = argparse.ArgumentParser(
description="Titlemd"
......@@ -30,16 +30,14 @@ def arg_parse():
def mkdocs_available(location):
""" Is mkdocs.yml available? """
if location.find("mkdocs.yml") != -1:
return True
return False
return "mkdocs.yml" in location
def linestart(line, disabled, test, prev_line=None):
""" linestart """
if test:
if (line.startswith("``") or line.startswith("extra:")) and not disabled:
return True
if (line.startswith("``") or prev_line.startswith("pages:")) and disabled:
if (line.startswith("``") or (prev_line and prev_line.startswith("pages:"))) and disabled:
return False
else:
if line.startswith("``") and not disabled:
......@@ -51,93 +49,83 @@ def linestart(line, disabled, test, prev_line=None):
def testdata(arg):
""" test """
# Spelling exceptions
with open('.spelling') as fdata:
with open('.spelling', encoding='utf-8') as fdata:
spelling = fdata.readlines()
# pylint: disable=unused-argument,inconsistent-return-statements
def abbreviations(word, **kwargs):
def abbreviations(word, **_):
""" abbreviations """
if word+"\n" in spelling:
if word + "\n" in spelling:
return word
# Open the file and read the lines as a list
with open(arg.location) as fdata:
with open(arg.location, encoding='utf-8') as fdata:
lines = fdata.readlines()
# Loop through the list of lines and titlecase
# any line beginning with '#'.
return_value = 0
prev_line = lines[0]
prev_line = lines[0] if lines else ""
echo_filename = False
disabled = mkdocs_available(arg.location)
for line in lines:
disabled = linestart(line, disabled, arg.test, prev_line)
if line.startswith('#') and not disabled and not mkdocs_available(arg.location):
if line != titlecase(line[:(line.find("]"))],
callback=abbreviations)+line[(line.find("]")):]:
title_line = titlecase(line[:line.find("]")], callback=abbreviations) + line[line.find("]"):]
if line != title_line:
if return_value == 0 and not echo_filename:
print("%s" % arg.location)
print(f"{arg.location}")
echo_filename = True
print("-"+line, end="")
print("+"+titlecase(line[:(line.find("]"))],
callback=abbreviations)+line[(line.find("]")):], end="")
print(f"-{line}", end="")
print(f"+{title_line}", end="")
print()
return_value = 1
if (line.startswith('---') or line.startswith('===')) and not disabled:
if prev_line != titlecase(prev_line[:(prev_line.find("]"))],
callback=abbreviations)+prev_line[(prev_line.find("]")):]:
title_prev_line = titlecase(prev_line[:prev_line.find("]")], callback=abbreviations) + prev_line[prev_line.find("]"):]
if prev_line != title_prev_line:
if return_value == 0 and not echo_filename:
print("%s" % arg.location)
print(f"{arg.location}")
echo_filename = True
print("-"+prev_line, end="")
print("+"+titlecase(prev_line[:(prev_line.find("]"))],
callback=abbreviations)+prev_line[(prev_line.find("]")):],
end="")
print(f"-{prev_line}", end="")
print(f"+{title_prev_line}", end="")
print()
return_value = 1
if (mkdocs_available(arg.location) and not line.startswith('#') and not disabled):
if line != titlecase(line[:(line.find(":"))],
callback=abbreviations)+line[(line.find(":")):]:
title_line = titlecase(line[:line.find(":")], callback=abbreviations) + line[line.find(":"):]
if line != title_line:
if return_value == 0 and not echo_filename:
print("%s" % arg.location)
print(f"{arg.location}")
echo_filename = True
print("-"+line, end="")
print("+"+titlecase(line[:(line.find(":"))],
callback=abbreviations)+line[(line.find(":")):], end="")
print(f"-{line}", end="")
print(f"+{title_line}", end="")
print()
return_value = 1
prev_line = line
prev_line = line
return return_value
def writedata(arg):
""" writedata """
# Spelling exceptions
with open('.spelling') as fdata:
with open('.spelling', encoding='utf-8') as fdata:
spelling = fdata.readlines()
# pylint: disable=unused-argument,inconsistent-return-statements
def abbreviations(word, **kwargs):
def abbreviations(word, **_):
""" abbreviations """
if word+"\n" in spelling:
if word + "\n" in spelling:
return word
# Open the file and read the lines as a list
with open(arg.location) as fdata:
with open(arg.location, encoding='utf-8') as fdata:
lines = fdata.readlines()
with open(arg.location, 'w') as fdata:
# Loop through the list of lines and titlecase
# any line beginning with '#'.
prev_line = lines[0]
with open(arg.location, 'w', encoding='utf-8') as fdata:
prev_line = lines[0] if lines else ""
disabled = False
for line in lines:
disabled = linestart(line, disabled, arg.test)
if line.startswith('#') and not disabled:
line = titlecase(line[:(line.find("]"))],
callback=abbreviations)+line[(line.find("]")):]
line = titlecase(line[:line.find("]")], callback=abbreviations) + line[line.find("]"):]
if (line.startswith('---') or line.startswith('===')) and not disabled:
prev_line = titlecase(prev_line[:(prev_line.find("]"))],
callback=abbreviations)+prev_line[(prev_line.find("]")):]
prev_line = titlecase(prev_line[:prev_line.find("]")], callback=abbreviations) + prev_line[prev_line.find("]"):]
fdata.write(prev_line)
prev_line = line
fdata.write(prev_line)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment