44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
import asyncio
|
|
|
|
from cfg.toml_config import TomlConfig
|
|
from content.parser import PostParser
|
|
from po.lunduke_forum import LundukeForum
|
|
from pw.utils import prepare_browser, cleanup_browser
|
|
|
|
|
|
async def main():
|
|
site_cfg = TomlConfig("~/.discourse", "lunduke.toml")
|
|
|
|
apw, browser, page = await prepare_browser("chromium", headless=True)
|
|
forum = LundukeForum(page)
|
|
await forum.login(
|
|
site_cfg.get_value("userid", "credentials"),
|
|
site_cfg.get_value("password","credentials")
|
|
)
|
|
|
|
content_dir = site_cfg.get_value("content_dir", "content")
|
|
parser = PostParser(content_dir+"/"+"post_three.md")
|
|
toml_data = {}
|
|
markdown = ""
|
|
try:
|
|
toml_data, markdown = parser.parse()
|
|
except RuntimeError as e:
|
|
print(e)
|
|
|
|
await forum.create_new_topic(
|
|
toml_data["Category"],
|
|
toml_data["Title"],
|
|
markdown,
|
|
draft=bool(toml_data["Draft"])
|
|
)
|
|
|
|
# await forum.publish_draft_topic("Create a draft and publish it")
|
|
|
|
# Close the pw
|
|
await cleanup_browser(apw, browser)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|
|
|