diff --git a/.gitignore b/.gitignore index 4371844..3df8783 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ -praw.ini -pointsbot.ini -pointsbot.toml +*pointsbot.toml *.db *.pyc diff --git a/pointsbot/config.py b/pointsbot/config.py index f3b967e..8f583a8 100644 --- a/pointsbot/config.py +++ b/pointsbot/config.py @@ -1,4 +1,6 @@ +import os import os.path +# from os.path import abspath, dirname, expanduser, join import toml @@ -6,16 +8,18 @@ from .level import Level ### Globals ### -ROOTPATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) -CONFIGPATH = os.path.join(ROOTPATH, 'pointsbot.toml') +# ROOTPATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) ### Classes ### class Config: + DATADIR = os.path.join(os.path.expanduser('~'), '.pointsbot') + PATH = os.path.join(DATADIR, 'pointsbot.toml') + # Default config vals - DEFAULT_DBPATH = 'pointsbot.db' + DEFAULT_DBPATH = os.path.join(DATADIR, 'pointsbot.db') def __init__(self, subreddit, client_id, client_secret, username, password, levels, database_path=DEFAULT_DBPATH): @@ -30,9 +34,10 @@ class Config: self.levels = levels @classmethod - def load(cls, filepath=CONFIGPATH): + def load(cls, filepath=PATH): obj = toml.load(filepath) + # Create list of level objects, in ascending order by point value levels = [] for lvl in obj['levels']: flair_template_id = lvl['flair_template_id'] @@ -41,7 +46,7 @@ class Config: levels.append(Level(lvl['name'], lvl['points'], flair_template_id)) levels.sort(key=lambda l: l.points) - database_path = os.path.join(ROOTPATH, obj['filepaths']['database']) + database_path = os.path.join(cls.DATADIR, obj['filepaths']['database']) return cls( obj['core']['subreddit'], @@ -53,7 +58,8 @@ class Config: database_path=database_path, ) - def dump(self, filepath=CONFIGPATH): + @classmethod + def dump(cls, obj, filepath=PATH): pass diff --git a/pointsbot/reply.py b/pointsbot/reply.py index ff5b8b0..63aab11 100644 --- a/pointsbot/reply.py +++ b/pointsbot/reply.py @@ -44,6 +44,7 @@ def make(redditor, points, level_info): paras.append(normal_greeting(redditor)) paras.append(points_status(redditor, points, level_info)) + paras.append(divider()) paras.append(footer()) return '\n\n'.join(paras) @@ -124,6 +125,11 @@ def progress_bar(points, level_info): return f'[{bar}]' +def divider(): + '''A single dividing line in Markdown.''' + return '***' + + def footer(): return ('^(This bot is written and maintained by GlipGlorp7 ' '| Learn more and view the source code on '