X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/52666d1a087e978f58b9867558bf3fcbfdf04eee..3a100c86bdaa0dbdd25796286ef3b6d4888911d8:/apps/toolbar/management/commands/fixbuttons.py?ds=sidebyside diff --git a/apps/toolbar/management/commands/fixbuttons.py b/apps/toolbar/management/commands/fixbuttons.py new file mode 100755 index 00000000..9e721510 --- /dev/null +++ b/apps/toolbar/management/commands/fixbuttons.py @@ -0,0 +1,35 @@ +# -*- conding: utf-8 +__author__="lreqc" +__date__ ="$2009-09-08 14:31:26$" +from django.core.management.base import NoArgsCommand +from toolbar.models import Button +import json +import re + +class Command(NoArgsCommand): + + def handle_noargs(self, **options): + buttons = Button.objects.all() + for b in buttons: + params = b.params; + try: + v = json.loads(b.params) + + except ValueError, e: + print 'On button %s: ' % b.label, b.params + print e + # try to fix the bad json + + # cut the parenthis + if params[0] == u'(': + params = params[1:] + if params[-1] == u')': + params = params[:-1] + + v = json.loads(re.sub(u'([\\w-]+)\\s*:', u'"\\1": ', params).encode('utf-8')) + b.params = json.dumps(v) + b.save() + + + + \ No newline at end of file