diff legacy/management/commands/fix_potd_smiles.py @ 581:ee87ea74d46b

For Django 1.4, rearranged project structure for new manage.py.
author Brian Neal <bgneal@gmail.com>
date Sat, 05 May 2012 17:10:48 -0500
parents gpp/legacy/management/commands/fix_potd_smiles.py@97593a955291
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/legacy/management/commands/fix_potd_smiles.py	Sat May 05 17:10:48 2012 -0500
@@ -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()
+