diff gpp/legacy/management/commands/fix_potd_smiles.py @ 538:97593a955291

Added a command to fix the old 1.0 POTD smileys to match the new.
author Brian Neal <bgneal@gmail.com>
date Sat, 31 Dec 2011 23:39:24 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gpp/legacy/management/commands/fix_potd_smiles.py	Sat Dec 31 23:39:24 2011 +0000
@@ -0,0 +1,44 @@
+"""
+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()
+