def post(self):
region = sublime.Region(0, self.view.size())
contents = self.view.substr(region)
markup = Markup()
meta, content = markup.get_meta_and_content(contents)
syntax = self.view.settings().get("syntax")
new_content = markup.to_html("\n".join(content), syntax)
if not new_content:
return
self.confluence_api = ConfluenceApi(self.username, self.password, self.base_uri)
response = self.confluence_api.get_content_by_title(
meta["space_key"], meta["ancestor_title"])
if response.ok:
ancestor = response.json()["results"][0]
ancestor_id = int(ancestor["id"])
space = dict(key=meta["space_key"])
body = dict(storage=dict(value=new_content, representation="storage"))
data = dict(type="page", title=meta["title"], ancestors=[dict(id=ancestor_id)],
space=space, body=body)
result = self.confluence_api.create_content(data)
if result.ok:
self.view.settings().set("confluence_content", result.json())
# copy content url
content_uri = self.confluence_api.get_content_uri(result.json())
sublime.set_clipboard(content_uri)
sublime.status_message(self.MSG_SUCCESS)
else:
print(result.text)
sublime.error_message("Can not create content, reason: {}".format(result.reason))
else:
print(response.text)
sublime.error_message("Can not get ancestor, reason: {}".format(response.reason))
评论列表
文章目录