Skip to content

Commit 74e49db

Browse files
Merge pull request #73 from tasansal/main
2 parents ba69dff + e787a38 commit 74e49db

15 files changed

+60
-40
lines changed

CHANGELOG.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@ All notable changes to this project will be documented in this file.
88
- **v1.0.5** - 2023-04-01
99
- Add support for [custom templates](https://github.com/JakubAndrysek/MkDoxy/pull/39)
1010
- **v1.0.6** - 2023-04-01
11-
- Add support disable plugin [using environment variable](#disabling-the-plugin)
11+
- Add support disable plugin [using environment variable](#disabling-the-plugin)
12+
- **v1.1.6** - 2023-07-20
13+
- Replace `ruamel.yaml` with `pyyaml`. [#73](https://github.com/JakubAndrysek/MkDoxy/pull/73)
14+
- Add `isort` as dev dependency. [#73](https://github.com/JakubAndrysek/MkDoxy/pull/73)
15+
- Sort and cleanup imports [#73](https://github.com/JakubAndrysek/MkDoxy/pull/73)

mkdoxy/DoxyTagParser.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import re
22

3+
34
class DoxyTagParser:
45

56
def __init__(

mkdoxy/doxyrun.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import hashlib
22
import logging
3-
import tempfile
3+
44
from pathlib import Path, PurePath
5-
from subprocess import Popen, PIPE
5+
from subprocess import PIPE, Popen
66
from typing import Optional
77

88
log: logging.Logger = logging.getLogger("mkdocs")

mkdoxy/finder.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
from typing import Dict
2+
13
from mkdoxy.constants import Kind
24
from mkdoxy.doxygen import Doxygen
35
from mkdoxy.utils import recursive_find, recursive_find_with_parent
4-
from typing import Dict
6+
57

68
class Finder:
79
def __init__(self, doxygen: Dict[str, Doxygen], debug: bool = False):

mkdoxy/generatorBase.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,19 @@
33
import string
44
from typing import Dict
55

6-
from jinja2 import Template, FileSystemLoader, Environment, ChoiceLoader
6+
from jinja2 import Template
77
from jinja2.exceptions import TemplateError
88
from mkdocs import exceptions
99

1010
import mkdoxy
1111
from mkdoxy.constants import Kind
12-
from mkdoxy.node import Node, DummyNode
13-
from mkdoxy.utils import parseTemplateFile, merge_two_dicts, recursive_find_with_parent, recursive_find
12+
from mkdoxy.node import DummyNode, Node
13+
from mkdoxy.utils import (
14+
merge_two_dicts,
15+
parseTemplateFile,
16+
recursive_find,
17+
recursive_find_with_parent,
18+
)
1419

1520
log: logging.Logger = logging.getLogger("mkdocs")
1621

mkdoxy/generatorSnippets.py

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
import logging
22
import pathlib
33
import re
4-
import string
5-
from pprint import *
64

7-
from mkdocs.config import Config
5+
import yaml
86
from mkdocs.structure import pages
9-
from mkdoxy.doxygen import Doxygen
10-
11-
from mkdoxy.generatorBase import GeneratorBase
12-
from ruamel.yaml import YAML, YAMLError
137

8+
from mkdoxy.doxygen import Doxygen
149
from mkdoxy.finder import Finder
10+
from mkdoxy.generatorBase import GeneratorBase
1511
from mkdoxy.node import Node
1612

1713
log: logging.Logger = logging.getLogger("mkdocs")
@@ -112,9 +108,8 @@ def generate(self):
112108

113109
def try_load_yaml(self, yaml_raw: str, project: str, snippet: str, config: dict) -> dict:
114110
try:
115-
yaml = YAML()
116-
return yaml.load(yaml_raw)
117-
except YAMLError as e:
111+
return yaml.safe_load(yaml_raw)
112+
except yaml.YAMLError as e:
118113
log.error(f"YAML error in {project} project on page {self.page.url}")
119114
self.doxyError(
120115
project,

mkdoxy/markdown.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from typing import List
22

3+
34
def escape(s: str) -> str:
45
ret = s.replace('*', '\\*')
56
ret = ret.replace('_', '\\_')

mkdoxy/node.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from xml.etree.ElementTree import Element as Element
55

66
from mkdoxy.cache import Cache
7-
from mkdoxy.constants import Kind, Visibility, OVERLOAD_OPERATORS
7+
from mkdoxy.constants import OVERLOAD_OPERATORS, Kind, Visibility
88
from mkdoxy.markdown import escape
99
from mkdoxy.property import Property
1010
from mkdoxy.utils import split_safe

mkdoxy/plugin.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from pathlib import Path, PurePath
1010

1111
from mkdocs import exceptions
12-
from mkdocs.config import base, config_options, Config
12+
from mkdocs.config import Config, base, config_options
1313
from mkdocs.plugins import BasePlugin
1414
from mkdocs.structure import files, pages
1515

@@ -19,7 +19,6 @@
1919
from mkdoxy.generatorAuto import GeneratorAuto
2020
from mkdoxy.generatorBase import GeneratorBase
2121
from mkdoxy.generatorSnippets import GeneratorSnippets
22-
from mkdoxy.utils import check_enabled_markdown_extensions
2322
from mkdoxy.xml_parser import XmlParser
2423

2524
log: logging.Logger = logging.getLogger("mkdocs")

mkdoxy/utils.py

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import logging
22
import re
33

4+
import yaml
45
from mkdocs.config import Config
5-
from ruamel.yaml import YAML
66

77
log: logging.Logger = logging.getLogger("mkdocs")
88

@@ -73,10 +73,8 @@ def parseTemplateFile(templateFile: str):
7373
if match:
7474
template = match["template"]
7575
meta = match["meta"]
76-
yaml = YAML(typ='safe')
77-
metaData = yaml.load(meta)
78-
# yaml.dump(metaData, sys.stdout)
79-
return template, metaData
76+
metadata = yaml.safe_load(meta)
77+
return template, metadata
8078
return templateFile, {}
8179

8280

mkdoxy/xml_parser.py

+19-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
11
from xml.etree.ElementTree import Element as Element
22

33
from mkdoxy.cache import Cache
4-
from mkdoxy.markdown import Md, MdRenderer, MdParagraph, MdTable, Code, MdTableRow, MdCodeBlock, MdTableCell, \
5-
MdHeader, MdImage, MdList, MdBlockQuote, MdLink, MdBold, MdItalic, Text, Br
4+
from mkdoxy.markdown import (
5+
Br,
6+
Code,
7+
Md,
8+
MdBlockQuote,
9+
MdBold,
10+
MdCodeBlock,
11+
MdHeader,
12+
MdImage,
13+
MdItalic,
14+
MdLink,
15+
MdList,
16+
MdParagraph,
17+
MdRenderer,
18+
MdTable,
19+
MdTableCell,
20+
MdTableRow,
21+
Text,
22+
)
623
from mkdoxy.utils import lookahead
724

825
SIMPLE_SECTIONS = {

requirements.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
mkdocs
2-
ruamel.yaml

setup.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def requirements():
1111
# https://pypi.org/project/mkdoxy/
1212
setup(
1313
name='mkdoxy',
14-
version='1.1.5',
14+
version='1.1.6',
1515
description='MkDoxy → MkDocs + Doxygen = easy documentation generator with code snippets',
1616
long_description=readme(),
1717
long_description_content_type='text/markdown',
@@ -29,15 +29,15 @@ def requirements():
2929
'Funding': 'https://github.com/sponsors/jakubandrysek',
3030
},
3131

32-
install_requires=['mkdocs', 'ruamel.yaml'],
32+
install_requires=['mkdocs'],
3333
extras_require={
3434
"dev": [
3535
"mkdocs-material==9.1.18",
3636
"Jinja2~=3.1.2",
37-
"ruamel.yaml~=0.17.32",
3837
"mkdocs-open-in-new-tab~=1.0.2",
3938
"pathlib~=1.0.1",
4039
"path~=16.7.1",
40+
"isort~=5.12.0"
4141
],
4242
},
4343
classifiers=[

tests-old/metaDataParse.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
from markdown.extensions import meta
55
import re
66
from pprint import *
7-
from ruamel.yaml import YAML
7+
import yaml
8+
89

910
text = """\
1011
---
@@ -56,7 +57,6 @@
5657

5758

5859
match = re.match(regex, text2, re.MULTILINE)
59-
meta = match.group("meta")
60-
yaml = YAML(typ='safe')
61-
config = yaml.load(meta)
62-
yaml.dump(config, sys.stdout)
60+
meta = match["meta"]
61+
config = yaml.safe_load(meta)
62+
yaml.safe_dump(config, sys.stdout)

tests-old/parseMdTags.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import re
22
import sys
33
from pathlib import Path
4-
from ruamel.yaml import YAML
4+
import yaml
55

66

77
def readFile(filename: str) -> str:
@@ -28,9 +28,8 @@ def readFile(filename: str) -> str:
2828
yamlRaw = match.group('yaml')
2929
if yamlRaw:
3030
try:
31-
yaml = YAML()
32-
config = yaml.load(yamlRaw)
33-
yaml.dump(config, sys.stdout)
31+
config = yaml.safe_load(yamlRaw)
32+
yaml.safe_dump(config, sys.stdout)
3433
except yaml.YAMLError as e:
3534
print(e)
3635
print()

0 commit comments

Comments
 (0)