view legacy/management/commands/fix_potd_smiles.py @ 697:67f8d49a9377

Cleaned up the code a bit. Separated the S3 stuff out into its own class. This class maybe should be in core. Still want to do some kind of context manager around the temporary file we are creating to ensure it gets deleted.
author Brian Neal <bgneal@gmail.com>
date Sun, 08 Sep 2013 21:02:58 -0500
parents ee87ea74d46b
children
line wrap: on
line source
"""
This command fixes the old 1.0 smiley system to match the new scheme.

"""
from django.core.management.base import NoArgsCommand
from comments.models import Comment


SMILEY_MAP = {
    ':confused:': ':?',
    ':upset:': ':argh:',
    ':eek:': ':shock:',
    ':rolleyes:': ':whatever:',
    ':mad:': 'X-(',
    ':shy:': ':oops:',
    ':laugh:': ':lol:',
    ':dead:': 'x_x',
    ':cry:': ':-(',
    ';)': ':wink:',
    ':|': ':-|',
    ';-)': ':wink:',
    ':D': ':-D',
    ':P': ':-P',
    'B)': '8)',
    ':(': ':-(',
    ':)': ':-)',
}


class Command(NoArgsCommand):

    def handle_noargs(self, **opts):

        comments = Comment.objects.filter(id__gt=3000)
        for comment in comments:
            save = False
            for key, val in SMILEY_MAP.items():
                if key in comment.comment:
                    comment.comment = comment.comment.replace(key, val)
                    save = True

            if save:
                comment.save()