--- a/svgui/pyjs/jsonrpc/django/jsonrpc.py Mon Aug 14 22:30:41 2017 +0300
+++ b/svgui/pyjs/jsonrpc/django/jsonrpc.py Mon Aug 14 23:27:15 2017 +0300
@@ -18,11 +18,13 @@
# dump jsonservice into urlpatterns:
# (r'^service1/$', 'djangoapp.views.jsonservice'),
+
class JSONRPCService(JSONRPCServiceBase):
def __call__(self, request, extra=None):
return self.process(request.raw_post_data)
+
def jsonremote(service):
"""Make JSONRPCService a decorator so that you can write :
@@ -64,6 +66,7 @@
from django import forms
+
def builderrors(form):
d = {}
for error in form.errors.keys():
@@ -91,6 +94,7 @@
'IPAddressField': ['max_length', 'min_length'],
}
+
def describe_field_errors(field):
res = {}
field_type = field.__class__.__name__
@@ -102,6 +106,7 @@
res['fields'] = map(describe_field, field.fields)
return res
+
def describe_fields_errors(fields, field_names):
res = {}
if not field_names:
@@ -111,6 +116,7 @@
res[name] = describe_field_errors(field)
return res
+
def describe_field(field):
res = {}
field_type = field.__class__.__name__
@@ -121,6 +127,7 @@
res['fields'] = map(describe_field, field.fields)
return res
+
def describe_fields(fields, field_names):
res = {}
if not field_names:
@@ -130,6 +137,7 @@
res[name] = describe_field(field)
return res
+
class FormProcessor(JSONRPCService):
def __init__(self, forms, _formcls=None):
@@ -206,6 +214,7 @@
import datetime
from datetime import date
+
def dict_datetimeflatten(item):
d = {}
for k, v in item.items():
@@ -218,6 +227,7 @@
d[k] = v
return d
+
def json_convert(l, fields=None):
res = []
for item in serialize('python', l, fields=fields):