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())