#!/usr/bin/env python2 import reddit import ConfigParser from datetime import datetime, timedelta config = ConfigParser.RawConfigParser() config.read('shreddit.cfg') days = config.getint('main', 'days') whitelist = config.get('main', 'whitelist') whitelist_ids = config.get('main', 'whitelist_ids') sort = config.get('main', 'sort') verbose = config.getboolean('main', 'verbose') clear_vote = config.getboolean('main', 'clear_vote') item = config.get('main', 'item') r = reddit.Reddit(user_agent="Shreddit-PRAW") # add user: / pswd: to the [reddit] config section r.login() if verbose: print "Logged in as %s" % r.user before_time = datetime.now() - timedelta(days=days) if verbose: print "Deleting messages before %s" % before_time whitelist = [y.strip().lower() for y in whitelist.split(',')] whitelist_ids = [y.strip().lower() for y in whitelist_ids.split(',')] if verbose: print "Keeping messages from subreddits %s" % ', '.join(whitelist) things = [] if item == "comments": things = r.user.get_comments(limit=None, sort=sort) elif item == "submitted": things = r.user.get_submitted(limit=None, sort=sort) elif item == "overview": things = r.user.get_overview(limit=None, sort=sort) else: raise Exception("Your deletion section is wrong") for thing in things: thing_time = datetime.fromtimestamp(thing.created) #print "%s, %s, %s" % (thing_time, before_time, thing_time < before_time) if thing.id in whitelist_ids: continue if thing_time > before_time: continue if str(thing.subreddit).lower() in whitelist: continue if item == "submitted" or item == "overview": if verbose: print "Deleting: %s" % thing thing.delete() elif item == "comments": if verbose: print 'Deleting: [%s]: "%s"' % (thing.subreddit, thing.body[:20]) if clear_vote: thing.clear_vote() thing.delete()