markdown-to-confluence 0.5.0__tar.gz → 0.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {markdown_to_confluence-0.5.0/markdown_to_confluence.egg-info → markdown_to_confluence-0.5.1}/PKG-INFO +2 -1
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1/markdown_to_confluence.egg-info}/PKG-INFO +2 -1
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/markdown_to_confluence.egg-info/requires.txt +1 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/__init__.py +1 -1
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/serializer.py +14 -2
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/pyproject.toml +1 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_unit.py +5 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/LICENSE +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/MANIFEST.in +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/README.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/markdown_to_confluence.egg-info/SOURCES.txt +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/markdown_to_confluence.egg-info/dependency_links.txt +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/markdown_to_confluence.egg-info/entry_points.txt +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/markdown_to_confluence.egg-info/top_level.txt +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/markdown_to_confluence.egg-info/zip-safe +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/__main__.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/api.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/collection.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/converter.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/csf.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/domain.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/drawio.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/emoticon.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/entities.dtd +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/environment.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/extra.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/latex.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/local.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/markdown.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/matcher.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/mermaid.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/metadata.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/processor.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/publisher.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/puppeteer-config.json +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/py.typed +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/scanner.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/text.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/toc.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/uri.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/md2conf/xml.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/setup.cfg +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/setup.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/__init__.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/emoji.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/admonition.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/alert.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/alignment.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/anchors.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/basic.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/code.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/collapsed.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/fenced.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/diagram.drawio +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/diagram.drawio.png +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/diagram.drawio.svg +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/raster.png +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/vector.svg +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/footnote.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/ignore.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/images/images.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/images.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/macro.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/math.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/mermaid.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/missing.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/sections.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/status.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/table.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/tags.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/tasklist.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/title.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/toc.md +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/admonition.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/alert.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/alignment.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/anchors.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/basic.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/code.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/collapsed.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/fenced.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/footnote.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/images/images.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/images.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/macro.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/math.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/mermaid.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/missing.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/panel.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/sections.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/status.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/table.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/tags.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/tasklist.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/toc.xml +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_conversion.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_drawio.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_matcher.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_mermaid.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_processor.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_scanner.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_text.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/test_xml.py +0 -0
- {markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/utility.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: markdown-to-confluence
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1
|
|
4
4
|
Summary: Publish Markdown files to Confluence wiki
|
|
5
5
|
Author-email: Levente Hunyadi <hunyadi@gmail.com>
|
|
6
6
|
Maintainer-email: Levente Hunyadi <hunyadi@gmail.com>
|
|
@@ -26,6 +26,7 @@ License-File: LICENSE
|
|
|
26
26
|
Requires-Dist: cattrs>=25.3
|
|
27
27
|
Requires-Dist: lxml>=6.0
|
|
28
28
|
Requires-Dist: markdown>=3.10
|
|
29
|
+
Requires-Dist: orjson>=3.11
|
|
29
30
|
Requires-Dist: pymdown-extensions>=10.17
|
|
30
31
|
Requires-Dist: PyYAML>=6.0
|
|
31
32
|
Requires-Dist: requests>=2.32
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: markdown-to-confluence
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.1
|
|
4
4
|
Summary: Publish Markdown files to Confluence wiki
|
|
5
5
|
Author-email: Levente Hunyadi <hunyadi@gmail.com>
|
|
6
6
|
Maintainer-email: Levente Hunyadi <hunyadi@gmail.com>
|
|
@@ -26,6 +26,7 @@ License-File: LICENSE
|
|
|
26
26
|
Requires-Dist: cattrs>=25.3
|
|
27
27
|
Requires-Dist: lxml>=6.0
|
|
28
28
|
Requires-Dist: markdown>=3.10
|
|
29
|
+
Requires-Dist: orjson>=3.11
|
|
29
30
|
Requires-Dist: pymdown-extensions>=10.17
|
|
30
31
|
Requires-Dist: PyYAML>=6.0
|
|
31
32
|
Requires-Dist: requests>=2.32
|
|
@@ -5,7 +5,7 @@ Parses Markdown files, converts Markdown content into the Confluence Storage For
|
|
|
5
5
|
Confluence API endpoints to upload images and content.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
__version__ = "0.5.
|
|
8
|
+
__version__ = "0.5.1"
|
|
9
9
|
__author__ = "Levente Hunyadi"
|
|
10
10
|
__copyright__ = "Copyright 2022-2025, Levente Hunyadi"
|
|
11
11
|
__license__ = "MIT"
|
|
@@ -6,9 +6,11 @@ Copyright 2022-2025, Levente Hunyadi
|
|
|
6
6
|
:see: https://github.com/hunyadi/md2conf
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
+
import sys
|
|
10
|
+
from datetime import datetime
|
|
9
11
|
from typing import TypeVar
|
|
10
12
|
|
|
11
|
-
from cattrs.preconf.
|
|
13
|
+
from cattrs.preconf.orjson import make_converter
|
|
12
14
|
|
|
13
15
|
JsonType = None | bool | int | float | str | dict[str, "JsonType"] | list["JsonType"]
|
|
14
16
|
JsonComposite = dict[str, "JsonType"] | list["JsonType"]
|
|
@@ -19,6 +21,16 @@ T = TypeVar("T")
|
|
|
19
21
|
_converter = make_converter(forbid_extra_keys=False)
|
|
20
22
|
|
|
21
23
|
|
|
24
|
+
if sys.version_info < (3, 11):
|
|
25
|
+
|
|
26
|
+
@_converter.register_structure_hook
|
|
27
|
+
def datetime_structure_hook(value: str, cls: type[datetime]) -> datetime:
|
|
28
|
+
if value.endswith("Z"):
|
|
29
|
+
# fromisoformat() prior to Python version 3.11 does not support military time zones like "Zulu" for UTC
|
|
30
|
+
value = f"{value[:-1]}+00:00"
|
|
31
|
+
return datetime.fromisoformat(value)
|
|
32
|
+
|
|
33
|
+
|
|
22
34
|
@_converter.register_structure_hook
|
|
23
35
|
def json_type_structure_hook(value: JsonType, cls: type[JsonType]) -> JsonType:
|
|
24
36
|
return value
|
|
@@ -49,4 +61,4 @@ def object_to_json_payload(data: object) -> bytes:
|
|
|
49
61
|
:returns: JSON string encoded in UTF-8.
|
|
50
62
|
"""
|
|
51
63
|
|
|
52
|
-
return _converter.dumps(data)
|
|
64
|
+
return _converter.dumps(data)
|
|
@@ -8,9 +8,11 @@ Copyright 2022-2025, Levente Hunyadi
|
|
|
8
8
|
|
|
9
9
|
import logging
|
|
10
10
|
import unittest
|
|
11
|
+
from datetime import datetime
|
|
11
12
|
|
|
12
13
|
from md2conf.converter import attachment_name, title_to_identifier
|
|
13
14
|
from md2conf.latex import LATEX_ENABLED, get_png_dimensions, remove_png_chunks, render_latex
|
|
15
|
+
from md2conf.serializer import json_to_object, object_to_json_payload
|
|
14
16
|
from md2conf.toc import TableOfContentsBuilder, TableOfContentsEntry
|
|
15
17
|
from tests.utility import TypedTestCase
|
|
16
18
|
|
|
@@ -23,6 +25,9 @@ logging.basicConfig(
|
|
|
23
25
|
class TestUnit(TypedTestCase):
|
|
24
26
|
"Simple unit tests without set-up or tear-down requirements."
|
|
25
27
|
|
|
28
|
+
def test_datetime(self) -> None:
|
|
29
|
+
self.assertEqual(object_to_json_payload(json_to_object(datetime, "2004-03-01T23:59:59Z")), b'"2004-03-01T23:59:59+00:00"')
|
|
30
|
+
|
|
26
31
|
def test_attachment(self) -> None:
|
|
27
32
|
self.assertEqual(attachment_name("image"), "image")
|
|
28
33
|
self.assertEqual(attachment_name("a.png"), "a.png")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/diagram.drawio
RENAMED
|
File without changes
|
{markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/diagram.drawio.png
RENAMED
|
File without changes
|
{markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/diagram.drawio.svg
RENAMED
|
File without changes
|
{markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/raster.png
RENAMED
|
File without changes
|
{markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/source/figure/vector.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{markdown_to_confluence-0.5.0 → markdown_to_confluence-0.5.1}/tests/target/images/images.xml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|