kci-confluence-cli 0.2.0__tar.gz → 0.2.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.
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/PKG-INFO +1 -1
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/__version__.py +1 -1
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/create_attachment.py +5 -1
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/delete_attachment.py +1 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/local/convert_html_to_xml.py +22 -17
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/pyproject.toml +1 -1
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/README.md +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/__init__.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/__main__.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/__init__.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/get_attachment.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/subcommand.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/__init__.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/api.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/cli.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/utils.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/content/__init__.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/content/get_content_by_id.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/content/subcommand.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/data/logging.yaml +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/local/__init__.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/local/subcommand.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/__init__.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/get_page_body.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/subcommand.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/update_page.py +0 -0
- {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/py.typed +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.2.
|
|
1
|
+
__version__ = "0.2.1" # `poetry-dynamic-versioning`を使ってGitHubのバージョンタグを取得している。変更不要
|
{kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/create_attachment.py
RENAMED
|
@@ -93,7 +93,11 @@ def add_arguments_to_parser(parser: argparse.ArgumentParser): # noqa: ANN201
|
|
|
93
93
|
|
|
94
94
|
parser.add_argument("--mime_type", type=str, help="ファイル名からMIMEタイプが判別できないときに、この値を添付ファイルのMIMEタイプとします。")
|
|
95
95
|
|
|
96
|
-
parser.add_argument(
|
|
96
|
+
parser.add_argument(
|
|
97
|
+
"--allow_duplicated",
|
|
98
|
+
action="store_true",
|
|
99
|
+
help="指定した場合は、アップロード先にすでに同じファイルが存在している場合に上書きます。指定しない場合は、400 Errorが発生します。",
|
|
100
|
+
)
|
|
97
101
|
|
|
98
102
|
parser.add_argument("--filename_pattern", help="glob形式のパターンに一致するファイル名だけアップロードします。(ex) '*.png'")
|
|
99
103
|
parser.set_defaults(subcommand_func=main)
|
{kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/local/convert_html_to_xml.py
RENAMED
|
@@ -18,16 +18,11 @@ def convert_img_elm(img_elm: HtmlElement) -> None:
|
|
|
18
18
|
`<img src="foo.png">`を以下のXMLに変換する
|
|
19
19
|
|
|
20
20
|
```
|
|
21
|
-
<ac:image
|
|
22
|
-
<ri:attachment ri:filename="
|
|
21
|
+
<ac:image>
|
|
22
|
+
<ri:attachment ri:filename="foo.png"/>
|
|
23
23
|
</ac:image>
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
<ac:image><ri:url ri:value="http://confluence.atlassian.com/images/logo/confluence_48_trans.png" /></ac:image>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
26
|
Args:
|
|
32
27
|
trim_dirname_for_src_value: src属性値からディレクトリ名を削除する。Confluenceにアップロードしたファイル名にスラッシュは含められないため。
|
|
33
28
|
"""
|
|
@@ -39,6 +34,10 @@ def convert_img_elm(img_elm: HtmlElement) -> None:
|
|
|
39
34
|
url_elm.tag = "ri:url"
|
|
40
35
|
url_elm.attrib["ri:value"] = src_value
|
|
41
36
|
img_elm.append(url_elm)
|
|
37
|
+
elif src_value.startswith("data:"):
|
|
38
|
+
# Data URIには対応していないので、スキップする
|
|
39
|
+
logger.warning(f"img要素のsrc属性値はData URIが含まれていました。Confluence用のXMLはData URIに対応していません。 :: {img_elm}'")
|
|
40
|
+
return
|
|
42
41
|
else:
|
|
43
42
|
attachment_elm = fromstring("<ri:attachment/>")
|
|
44
43
|
# コロン付きのタグが生成できないので、改めて置換した
|
|
@@ -49,17 +48,21 @@ def convert_img_elm(img_elm: HtmlElement) -> None:
|
|
|
49
48
|
attachment_elm.attrib["ri:filename"] = tmp[-1]
|
|
50
49
|
|
|
51
50
|
img_elm.append(attachment_elm)
|
|
52
|
-
|
|
51
|
+
del img_elm.attrib["src"]
|
|
52
|
+
|
|
53
|
+
# img要素のいくつかの属性を、`ac:image`タグの属性に変換する。
|
|
54
|
+
# https://ja.confluence.atlassian.com/doc/confluence-storage-format-790796544.html
|
|
55
|
+
# bool値を指定する以下の属性は変換しない
|
|
56
|
+
# ac:border, ac:thumbnail
|
|
57
|
+
for html_attribute_name in ("align", "class", "title", "style", "alt", "height", "width", "vspace", "hspace"):
|
|
58
|
+
attribute_value = img_elm.attrib.get(html_attribute_name)
|
|
59
|
+
if attribute_value is not None and attribute_value != "":
|
|
60
|
+
img_elm.attrib[f"ac:{html_attribute_name}"] = attribute_value
|
|
61
|
+
del img_elm.attrib[html_attribute_name]
|
|
62
|
+
|
|
63
|
+
# サムネイル画像として設定する(画像をクリックすると拡大表示される)
|
|
53
64
|
img_elm.attrib["ac:thumbnail"] = "true"
|
|
54
65
|
|
|
55
|
-
alt_value: str = img_elm.attrib.get("alt")
|
|
56
|
-
if alt_value != "":
|
|
57
|
-
img_elm.attrib["ac:alt"] = alt_value
|
|
58
|
-
|
|
59
|
-
title_value: str = img_elm.attrib.get("title")
|
|
60
|
-
if title_value != "":
|
|
61
|
-
img_elm.attrib["ac:title"] = title_value
|
|
62
|
-
|
|
63
66
|
|
|
64
67
|
def convert(input_html_file: Path, output_xml_file: Path) -> None:
|
|
65
68
|
with input_html_file.open(encoding="utf-8") as f:
|
|
@@ -73,9 +76,11 @@ def convert(input_html_file: Path, output_xml_file: Path) -> None:
|
|
|
73
76
|
|
|
74
77
|
# body要素があればその中身、なければhtmlファイルの中身をアップロードする
|
|
75
78
|
if len(pq_html("body")) > 0:
|
|
79
|
+
# body要素以下のHTMLを取得する
|
|
76
80
|
html_data = pq_html("body").html()
|
|
77
81
|
else:
|
|
78
|
-
|
|
82
|
+
# 要素自身のHTMLを取得する
|
|
83
|
+
html_data = str(pq_html)
|
|
79
84
|
|
|
80
85
|
output_xml_file.parent.mkdir(exist_ok=True, parents=True)
|
|
81
86
|
output_xml_file.write_text(html_data, encoding="utf-8")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "kci-confluence-cli"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.1" # `poetry-dynamic-versioning`を使ってGitHubのバージョンタグを取得している。変更不要
|
|
4
4
|
description = "来栖川電算が利用しているConfluence v6.15.7を操作するためのCLIです。"
|
|
5
5
|
authors = ["Kurusugawa Computer Inc."]
|
|
6
6
|
license = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/get_attachment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/content/get_content_by_id.py
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
|