Use built-in json module in Python instead of simplejson bundled with Django

- Legacy-Id: 6883
This commit is contained in:
Ole Laursen 2013-12-11 16:59:19 +00:00
parent 2c930d0f97
commit 6a98fec2c3
27 changed files with 51 additions and 62 deletions

View file

@ -35,9 +35,9 @@ import os
import sys
#import logging
import traceback
import json
from django.conf import settings
from django.utils import simplejson
from django.http import HttpResponse
from dajaxice.core import dajaxice_functions
@ -180,7 +180,7 @@ class DajaxiceRequest(object):
argv = self.request.POST.get('argv')
if argv != 'undefined':
try:
argv = simplejson.loads(self.request.POST.get('argv'))
argv = json.loads(self.request.POST.get('argv'))
argv = safe_dict(argv)
except Exception, e:
log.error('argv exception %s' % e)

View file

@ -31,7 +31,7 @@
# DAMAGE.
#----------------------------------------------------------------------
from django.conf.urls.defaults import *
from django.conf.urls import *
from django.conf import settings
from dajaxice.core import dajaxice_autodiscover

View file

@ -31,7 +31,7 @@
# DAMAGE.
#----------------------------------------------------------------------
from django.conf.urls.defaults import *
from django.conf.urls import *
urlpatterns = patterns('',

View file

@ -2,16 +2,15 @@ import csv
import uuid
import datetime
import hashlib
from datetime import timedelta
from django.db import IntegrityError
import json
from django.db import IntegrityError
from django.conf import settings
from django.contrib.auth import REDIRECT_FIELD_NAME
from django.contrib.auth.models import User
from django.http import HttpResponse, Http404, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext
from django.utils import simplejson
from django.utils.http import urlquote
from ietf.community.models import CommunityList, Rule, EmailSubscription, ListNotification
@ -106,7 +105,7 @@ def add_document_to_list(request, clist, doc):
tup = settings.LOGIN_URL, REDIRECT_FIELD_NAME, path
return HttpResponseRedirect('%s?%s=%s' % tup)
clist.added_ids.add(doc)
return HttpResponse(simplejson.dumps({'success': True}), mimetype='text/plain')
return HttpResponse(json.dumps({'success': True}), mimetype='text/plain')
def remove_rule(request, list_id, rule_id):

View file

@ -1,6 +1,11 @@
# Copyright The IETF Trust 2007, All Rights Reserved
import textwrap
import re
import datetime
import types
from email.utils import parseaddr
from django import template
from django.conf import settings
from django.utils.html import escape, fix_ampersands
@ -8,14 +13,9 @@ from django.utils.text import truncate_html_words
from django.template.defaultfilters import linebreaksbr, wordwrap, stringfilter, urlize
from django.template import resolve_variable
from django.utils.safestring import mark_safe, SafeData
from django.utils import simplejson
from django.utils.html import strip_tags
from django.template import RequestContext
from email.utils import parseaddr
import re
import datetime
import types
register = template.Library()

View file

@ -1,7 +1,7 @@
# ballot management (voting, commenting, writeups, ...) for Area
# Directors and Secretariat
import re, os, datetime
import re, os, datetime, json
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
from django.shortcuts import render_to_response, get_object_or_404
@ -10,7 +10,6 @@ from django.template.loader import render_to_string
from django.template import RequestContext
from django import forms
from django.utils.html import strip_tags
from django.utils import simplejson
from django.conf import settings
import debug
@ -239,7 +238,7 @@ def edit_position(request, name, ballot_id):
ballot_deferred=ballot_deferred,
ballot = ballot,
show_discuss_text=old_pos and old_pos.pos.blocking,
blocking_positions=simplejson.dumps(blocking_positions),
blocking_positions=json.dumps(blocking_positions),
),
context_instance=RequestContext(request))

View file

@ -30,14 +30,13 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import re, os, datetime, urllib
import re, os, datetime, urllib, json
from django.http import HttpResponse, Http404
from django.shortcuts import render_to_response, get_object_or_404, redirect
from django.template import RequestContext
from django.template.loader import render_to_string
from django.template.defaultfilters import truncatewords_html
from django.utils import simplejson as json
from django.utils.decorators import decorator_from_middleware
from django.middleware.gzip import GZipMiddleware
from django.core.exceptions import ObjectDoesNotExist

View file

@ -1,6 +1,6 @@
# changing state and metadata on Internet Drafts
import re, os, datetime
import re, os, datetime, json
from textwrap import dedent
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
@ -9,7 +9,6 @@ from django.core.urlresolvers import reverse as urlreverse
from django.template.loader import render_to_string
from django.template import RequestContext
from django import forms
from django.utils import simplejson
from django.utils.html import strip_tags
from django.db.models import Max
from django.conf import settings
@ -312,12 +311,12 @@ class ReplacesForm(forms.Form):
drafts = {}
for d in self.doc.related_that_doc("replaces"):
drafts[d.id] = d.document.name
self.initial['replaces'] = simplejson.dumps(drafts)
self.initial['replaces'] = json.dumps(drafts)
def clean_replaces(self):
data = self.cleaned_data['replaces'].strip()
if data:
ids = [int(x) for x in simplejson.loads(data)]
ids = [int(x) for x in json.loads(data)]
else:
return []
objects = []

View file

@ -1,8 +1,8 @@
import datetime
import logging
import sys
import json
from django.utils import simplejson as json
from django.shortcuts import get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse, Http404

View file

@ -35,13 +35,13 @@
import codecs, re, os, glob, datetime
import tarfile, StringIO, time
import itertools
import json
from django.core.urlresolvers import reverse as urlreverse
from django.http import Http404, HttpResponse, HttpResponseForbidden, HttpResponseRedirect
from django.template import RequestContext, Context, loader
from django.shortcuts import render_to_response, get_object_or_404, render, redirect
from django.conf import settings
from django.utils import simplejson as json
from django.db import models
from django import forms

View file

@ -1,5 +1,5 @@
# Copyright The IETF Trust 2007, All Rights Reserved
import datetime
import datetime, json
from email.utils import parseaddr
from django.conf import settings
@ -8,7 +8,6 @@ from django.core.validators import validate_email, ValidationError
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden
from django.shortcuts import render_to_response, get_object_or_404, redirect
from django.template import RequestContext
from django.utils import simplejson
from ietf.liaisons.models import LiaisonStatement
from ietf.liaisons.accounts import (get_person_for_user, can_add_outgoing_liaison,
@ -81,7 +80,7 @@ def get_info(request):
full_list = [(person.pk, person.email())] + full_list
result.update({'full_list': full_list})
json_result = simplejson.dumps(result)
json_result = json.dumps(result)
return HttpResponse(json_result, mimetype='text/javascript')
def normalize_sort(request):

View file

@ -1,4 +1,5 @@
from django.utils import simplejson as json
import json
from django.core.urlresolvers import reverse
from django.shortcuts import get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse, QueryDict

View file

@ -27,7 +27,7 @@ timezones = [(name, name) for name in pytz.common_timezones]
timezones.sort()
# this is used in models to format dates, as the simplejson serializer
# this is used in models to format dates, as the built-in json serializer
# can not deal with them, and the django provided serializer is inaccessible.
from django.utils import datetime_safe
DATE_FORMAT = "%Y-%m-%d"

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
import datetime, re
import datetime, re, json
from django.views.generic.create_update import delete_object
from django.conf import settings
@ -11,7 +11,6 @@ from django.http import HttpResponse, Http404, HttpResponseRedirect, HttpRespons
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.template.loader import render_to_string
from django.utils import simplejson
from django.utils.datastructures import SortedDict
from django.db.models import Count
from django.forms.models import modelformset_factory, inlineformset_factory
@ -843,5 +842,5 @@ def ajax_position_text(request, position_id):
result = {'text': position_text}
json_result = simplejson.dumps(result)
json_result = json.dumps(result)
return HttpResponse(json_result, mimetype='application/json')

View file

@ -1,8 +1,8 @@
import datetime
import logging
import sys
import json
from django.utils import simplejson as json
from django.shortcuts import get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse, Http404

View file

@ -1,4 +1,5 @@
from django.utils import simplejson
import json
from django.utils.html import escape
from django.utils.functional import lazy
from django import forms
@ -11,7 +12,7 @@ from ietf.person.models import *
def json_emails(emails):
if isinstance(emails, basestring):
emails = Email.objects.filter(address__in=[x.strip() for x in emails.split(",") if x.strip()]).select_related("person")
return simplejson.dumps([{"id": e.address + "", "name": escape(u"%s <%s>" % (e.person.name, e.address))} for e in emails])
return json.dumps([{"id": e.address + "", "name": escape(u"%s <%s>" % (e.person.name, e.address))} for e in emails])
class EmailsField(forms.CharField):
"""Multi-select field using jquery.tokeninput.js. Since the API of

View file

@ -6,7 +6,6 @@ from django.forms.models import inlineformset_factory, modelformset_factory
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils import simplejson
from ietf.group.models import Group, GroupEvent, GroupURL, Role
from ietf.group.utils import save_group_in_history
@ -15,6 +14,7 @@ from ietf.person.models import Person, Email
from forms import *
import re
import json
# --------------------------------------------------
# AJAX FUNCTIONS
@ -32,7 +32,7 @@ def getpeople(request):
full = '%s - (%s)' % (item.name,item.id)
result.append(full)
return HttpResponse(simplejson.dumps(result), mimetype='application/javascript')
return HttpResponse(json.dumps(result), mimetype='application/javascript')
def getemails(request):
"""
@ -47,7 +47,7 @@ def getemails(request):
d = {'id': item.address, 'value': item.address}
results.append(d)
return HttpResponse(simplejson.dumps(results), mimetype='application/javascript')
return HttpResponse(json.dumps(results), mimetype='application/javascript')
# --------------------------------------------------
# STANDARD VIEW FUNCTIONS

View file

@ -9,7 +9,6 @@ from django.forms.models import inlineformset_factory, modelformset_factory
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils import simplejson
from email import *
from forms import *
@ -31,6 +30,7 @@ import shutil
import textwrap
import time
# -------------------------------------------------
# Helper Functions
# -------------------------------------------------

View file

@ -9,7 +9,6 @@ from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.template.loader import render_to_string
from django.utils import simplejson
#from sec.utils.group import get_charter_text
from ietf.secr.utils.meeting import get_current_meeting
@ -22,6 +21,7 @@ from forms import *
import os
import datetime
import json
# -------------------------------------------------
# Helper Functions
@ -76,7 +76,7 @@ def get_ads(request):
d = {'id': item.id, 'value': item.person.first_name + ' ' + item.person.last_name}
results.append(d)
return HttpResponse(simplejson.dumps(results), mimetype='application/javascript')
return HttpResponse(json.dumps(results), mimetype='application/javascript')
'''
# -------------------------------------------------
# Standard View Functions

View file

@ -1,9 +1,10 @@
from copy import deepcopy
import json
from form_utils.forms import BetterModelForm
from django import forms
from django.utils.safestring import mark_safe
from django.forms.formsets import formset_factory
from django.utils import simplejson
from ietf.ipr.models import IprDetail, IprContact, LICENSE_CHOICES, IprUpdate, SELECT_CHOICES, IprDocAlias
@ -154,8 +155,8 @@ class IprDetailForm(BetterModelForm):
drafts = {}
for draft in self.instance.docs().exclude(doc_alias__name__startswith='rfc'):
drafts[draft.doc_alias.id] = draft.doc_alias.document.name
self.initial['rfc_num'] = simplejson.dumps(rfcs)
self.initial['id_filename'] = simplejson.dumps(drafts)
self.initial['rfc_num'] = json.dumps(rfcs)
self.initial['id_filename'] = json.dumps(drafts)
else:
# if this is a new IPR hide status field
@ -167,7 +168,7 @@ class IprDetailForm(BetterModelForm):
def _fetch_objects(self, data, model):
if data:
ids = [int(x) for x in simplejson.loads(data)]
ids = [int(x) for x in json.loads(data)]
else:
return []
objects = []

View file

@ -1,7 +1,4 @@
try:
import json
except ImportError:
import simplejson as json
import json
from django.http import HttpResponse
from django.template import RequestContext

View file

@ -9,7 +9,6 @@ from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils.functional import curry
from django.utils import simplejson
from ietf.utils.mail import send_mail
from ietf.meeting.models import Meeting, Session, Room, TimeSlot, Schedule, ScheduledSession
@ -28,6 +27,7 @@ from forms import *
import os
import datetime
import json
# prep for agenda changes
# --------------------------------------------------
@ -240,7 +240,7 @@ def ajax_get_times(request, meeting_id, day):
d = {'id': slot.time.strftime('%H%M'), 'value': '%s-%s' % (slot.time.strftime('%H%M'), slot.end_time().strftime('%H%M'))}
results.append(d)
return HttpResponse(simplejson.dumps(results), mimetype='application/javascript')
return HttpResponse(json.dumps(results), mimetype='application/javascript')
# --------------------------------------------------
# STANDARD VIEW FUNCTIONS
# --------------------------------------------------

View file

@ -11,7 +11,6 @@ from django.template import RequestContext
from django.template import Context
from django.template.defaultfilters import slugify
from django.template.loader import get_template
from django.utils import simplejson
from django.db.models import Max,Count,get_model
from ietf.secr.lib import jsonapi

View file

@ -5,7 +5,6 @@ from django.forms.formsets import formset_factory
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils import simplejson
from ietf.group.models import Group, GroupHistory, Role, RoleHistory
from ietf.group.utils import save_group_in_history
@ -111,4 +110,4 @@ def main(request):
'group_form': group_form,
'role_form': role_form},
RequestContext(request, {}),
)
)

View file

@ -1,4 +1,4 @@
import re, os, string, datetime, shutil, textwrap
import re, os, string, datetime, shutil, textwrap, json
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseNotFound, Http404
from django.shortcuts import render_to_response, get_object_or_404, redirect
@ -7,7 +7,6 @@ from django.core.urlresolvers import reverse as urlreverse
from django.template import RequestContext
from django import forms
from django.forms.util import ErrorList
from django.utils import simplejson
from django.utils.html import strip_tags, escape
from django.utils.safestring import mark_safe
from django.conf import settings
@ -195,8 +194,8 @@ def change_state(request, name, option=None):
title=title,
initial_review=initial_review,
chartering_type=chartering_type,
info_msg=simplejson.dumps(info_msg),
states_for_ballot_wo_extern=simplejson.dumps(list(states_for_ballot_wo_extern)),
info_msg=json.dumps(info_msg),
states_for_ballot_wo_extern=json.dumps(list(states_for_ballot_wo_extern)),
),
context_instance=RequestContext(request))

View file

@ -6,7 +6,6 @@ from django.shortcuts import render_to_response, get_object_or_404, redirect
from django.http import HttpResponseForbidden
from django.template import RequestContext
from django import forms
from django.utils import simplejson
from django.utils.html import mark_safe
import debug

View file

@ -1,12 +1,11 @@
# WG milestone editing views
import re, os, string, datetime, shutil, calendar
import re, os, string, datetime, shutil, calendar, json
from django.shortcuts import render_to_response, get_object_or_404, redirect
from django.template import RequestContext
from django import forms
from django.http import HttpResponse, HttpResponseForbidden, HttpResponseBadRequest
from django.utils import simplejson
from django.utils.html import mark_safe, escape
from django.utils.functional import lazy
from django.core.urlresolvers import reverse as urlreverse
@ -19,7 +18,7 @@ from ietf.group.utils import save_group_in_history, save_milestone_in_history
from ietf.wginfo.mails import email_milestones_changed
def json_doc_names(docs):
return simplejson.dumps([{"id": doc.pk, "name": doc.name } for doc in docs])
return json.dumps([{"id": doc.pk, "name": doc.name } for doc in docs])
def parse_doc_names(s):
return Document.objects.filter(pk__in=[x.strip() for x in s.split(",") if x.strip()], type="draft")