From 6f452c32dcb700f16c76b4ed30b5a29816dc7b9c Mon Sep 17 00:00:00 2001 From: David Trail Date: Sat, 17 May 2014 18:17:46 +0200 Subject: [PATCH] Double tabs? Who thought of that! --- shreddit | 108 +++++++++++++++++++++++++++---------------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/shreddit b/shreddit index 66c5f01..c6644d5 100755 --- a/shreddit +++ b/shreddit @@ -5,10 +5,11 @@ from praw.objects import Comment, Submission from datetime import datetime, timedelta from re import sub from time import sleep + try: - from loremipsum import get_sentence + from loremipsum import get_sentence except: - get_sentence = lambda: '''I have been Shreddited for privacy!\n\nhttps://github.com/x89/Shreddit/''' + get_sentence = lambda: '''I have been Shreddited for privacy!\n\nhttps://github.com/x89/Shreddit/''' parser = argparse.ArgumentParser() parser.add_argument('-c', '--config', help="config file to use instead of shreddit.cfg") @@ -36,75 +37,74 @@ _pass = config.get('main', 'password') r = praw.Reddit(user_agent="Shreddit-PRAW 2.1") if _user and _pass: - try: - r.login(_user, _pass) - except: - # Try again (often get HTTP when Reddit is down for a second errors) - sleep(10) - r.login(_user, _pass) - + try: + r.login(_user, _pass) + except: + # Try again (often get HTTP when Reddit is down for a second errors) + sleep(10) + r.login(_user, _pass) else: - r.login() + r.login() if verbose: - print "Logged in as {0}".format(r.user) + print "Logged in as {0}".format(r.user) if verbose: - print "Deleting messages before {0}.".format(datetime.now() - timedelta(hours=hours)) + print "Deleting messages before {0}.".format(datetime.now() - timedelta(hours=hours)) 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 {0}".format(', '.join(whitelist)) + print "Keeping messages from subreddits {0}".format(', '.join(whitelist)) things = [] if item == "comments": - things = r.user.get_comments(limit=None, sort=sort) + things = r.user.get_comments(limit=None, sort=sort) elif item == "submitted": - things = r.user.get_submitted(limit=None, sort=sort) + things = r.user.get_submitted(limit=None, sort=sort) elif item == "overview": - things = r.user.get_overview(limit=None, sort=sort) + things = r.user.get_overview(limit=None, sort=sort) else: - raise Exception("Your deletion section is wrong") + raise Exception("Your deletion section is wrong") for thing in things: - thing_time = datetime.fromtimestamp(thing.created_utc) - # Delete things after after_time - after_time = datetime.utcnow() - timedelta(hours=hours) - if thing_time > after_time: - continue - - # For edit_only we're assuming that the hours aren't altered. - # This saves time when deleting (you don't edit already edited posts). - if edit_only: - end_time = after_time - timedelta(hours=hours) - if thing_time < end_time: - continue + thing_time = datetime.fromtimestamp(thing.created_utc) + # Delete things after after_time + after_time = datetime.utcnow() - timedelta(hours=hours) + if thing_time > after_time: + continue + + # For edit_only we're assuming that the hours aren't altered. + # This saves time when deleting (you don't edit already edited posts). + if edit_only: + end_time = after_time - timedelta(hours=hours) + if thing_time < end_time: + continue - if str(thing.subreddit).lower() in whitelist or \ - thing.id in whitelist_ids: - continue + if str(thing.subreddit).lower() in whitelist or \ + thing.id in whitelist_ids: + continue - if not trial_run: - if clear_vote: - thing.clear_vote() - if isinstance(thing, Submission): - if verbose: - print u'Deleting submission: #{0} {1}'.format(thing.id, thing.url) - elif isinstance(thing, Comment): - replacement_text = get_sentence() - if verbose: - msg = '/r/{3}/ #{0} with:\n\t"{1}" to\n\t"{2}"'.format( - thing.id, - sub(r'[\t\r\n]', ' ', thing.body.encode('ascii', 'ignore')[:78]), - replacement_text[:78], - thing.subreddit - ) - if edit_only: - print 'Editing ' + msg - else: - print 'Editing and deleting ' + msg - thing.edit(replacement_text) - if not edit_only: - thing.delete() + if not trial_run: + if clear_vote: + thing.clear_vote() + if isinstance(thing, Submission): + if verbose: + print u'Deleting submission: #{0} {1}'.format(thing.id, thing.url) + elif isinstance(thing, Comment): + replacement_text = get_sentence() + if verbose: + msg = '/r/{3}/ #{0} with:\n\t"{1}" to\n\t"{2}"'.format( + thing.id, + sub(r'[\t\r\n]', ' ', thing.body.encode('ascii', 'ignore')[:78]), + replacement_text[:78], + thing.subreddit + ) + if edit_only: + print 'Editing ' + msg + else: + print 'Editing and deleting ' + msg + thing.edit(replacement_text) + if not edit_only: + thing.delete()