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.
Files changed (27) hide show
  1. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/PKG-INFO +1 -1
  2. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/__version__.py +1 -1
  3. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/create_attachment.py +5 -1
  4. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/delete_attachment.py +1 -0
  5. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/local/convert_html_to_xml.py +22 -17
  6. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/pyproject.toml +1 -1
  7. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/README.md +0 -0
  8. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/__init__.py +0 -0
  9. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/__main__.py +0 -0
  10. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/__init__.py +0 -0
  11. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/get_attachment.py +0 -0
  12. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/attachment/subcommand.py +0 -0
  13. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/__init__.py +0 -0
  14. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/api.py +0 -0
  15. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/cli.py +0 -0
  16. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/common/utils.py +0 -0
  17. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/content/__init__.py +0 -0
  18. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/content/get_content_by_id.py +0 -0
  19. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/content/subcommand.py +0 -0
  20. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/data/logging.yaml +0 -0
  21. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/local/__init__.py +0 -0
  22. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/local/subcommand.py +0 -0
  23. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/__init__.py +0 -0
  24. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/get_page_body.py +0 -0
  25. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/subcommand.py +0 -0
  26. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/page/update_page.py +0 -0
  27. {kci_confluence_cli-0.2.0 → kci_confluence_cli-0.2.1}/confluence/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kci-confluence-cli
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: 来栖川電算が利用しているConfluence v6.15.7を操作するためのCLIです。
5
5
  Home-page: https://github.com/kurusugawa-computer/confluence-cli
6
6
  License: MIT
@@ -1 +1 @@
1
- __version__ = "0.2.0" # `poetry-dynamic-versioning`を使ってGitHubのバージョンタグを取得している。変更不要
1
+ __version__ = "0.2.1" # `poetry-dynamic-versioning`を使ってGitHubのバージョンタグを取得している。変更不要
@@ -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("--allow_duplicated", action="store_true", help="指定した場合は、アップロード先にすでに同じファイルが存在している場合に上書きます。指定しない場合は、400 Errorが発生します。")
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)
@@ -40,6 +40,7 @@ def main(args: argparse.Namespace) -> None:
40
40
  success_count = 0
41
41
 
42
42
  all_yes = False
43
+ yes = False
43
44
  for index, attachment in enumerate(results):
44
45
  attachment_id = attachment["id"]
45
46
  attachment_title = attachment["title"]
@@ -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 ac:alt="aaaa" ac:border="true" ac:height="207" ac:title="aaaa" ac:width="240">
22
- <ri:attachment ri:filename="image2023-2-16_11-24-17.png"/>
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
- html_data = pq_html.html()
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.0" # `poetry-dynamic-versioning`を使ってGitHubのバージョンタグを取得している。変更不要
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"