simple_blog_cms/simple_blog.py
2022-06-29 09:00:03 -04:00

57 lines
2.7 KiB
Python
Executable File

#!/usr/bin/env python3
# The CMS portion of simple_blog a self-hosted blogging platform.
# Version 0.1
# 03/12/2022
# imports
import configparser
import argparse
import sys
import find_ini
import publish_blog
import sb_config
# Start of 'main'
script_name = "simple_blog"
script_version = "0.1"
help_epilog = ""
find_ini.find_ini()
cmd_option_set = argparse.ArgumentParser(description='Publish your thoughts with simple_blog.', epilog=help_epilog)
cmd_option_set.add_argument('--conf', '-C', dest='run_conf', action='store_true', help='Run the self configuration '
'routine.')
cmd_option_set.add_argument('--report-conf', '-R', dest='report_config', action='store_true', help='Reports the '
'current '
'configuration.')
cmd_option_set.add_argument('--publish', '-p', dest='publish', action='store_true', help='Publishes an article. If no '
'article is explicitly '
'provided '
' (-a) it will parse the '
'current directory for '
'Markdown '
'files.')
cmd_option_set.add_argument('--article', '-a', dest='article_path', type=str,
help='Path to the Markdown file to be published.')
cmd_option_set.add_argument('--version', '-v', dest='print_version', action='store_true',
help='Print the current version number.')
cmd_options = cmd_option_set.parse_args()
option_file = find_ini.find_ini()
simple_blog_conf = configparser.ConfigParser()
simple_blog_conf.read(option_file)
# Testing for command line flags.
if cmd_options.run_conf:
sb_config.write_conf("Configuring", True)
sys.exit(0)
elif cmd_options.report_config:
sb_config.report_conf(simple_blog_conf)
sys.exit(0)
elif cmd_options.publish:
if cmd_options.article_path is not None:
publish_blog.publish_path(cmd_options.article_path )
else:
publish_blog.publish_parse()
elif cmd_options.print_version:
print("Script version: " + script_version)
sys.exit(0)