From 7965ccad006ddf20f5e0de8b26218b88f9a45ccf Mon Sep 17 00:00:00 2001 From: Dave Disser Date: Sun, 31 May 2015 15:52:46 -0700 Subject: [PATCH] Add save_directory parameter to backup comment in JSON format. --- shreddit.cfg.example | 4 +++- shreddit.py | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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()