diff --git a/shreddit.cfg.example b/shreddit.cfg.example index e1a3fcf..85b1b20 100644 --- a/shreddit.cfg.example +++ b/shreddit.cfg.example @@ -57,7 +57,9 @@ nuke_hours = 0 # Only delete comments with this score or less, or delete all comments # if this is not set. - max_score = +# Save JSON encoded comment to this directory before deleting it. +save_directory = + # vim: syntax=config diff --git a/shreddit.py b/shreddit.py index 317bbe8..0581c54 100755 --- a/shreddit.py +++ b/shreddit.py @@ -60,10 +60,14 @@ try: max_score = config.getint('main', 'max_score') except ValueError: max_score = None +save_directory = config.get('main', 'save_directory') + _user = config.get('main', 'username') _pass = config.get('main', 'password') r = praw.Reddit(user_agent="shreddit/3.3") +if save_directory: + r.config.store_json_result = True def login(user=None, password=None): try: @@ -140,6 +144,12 @@ for thing in things: thing=thing.id, content=thing)) continue + if save_directory: + if not os.path.exists(save_directory): + os.makedirs(save_directory) + with open("%s/%s.json" % (save_directory, thing.id), "w") as fh: + json.dump(thing.json_dict, fh) + if clear_vote: thing.clear_vote()