ad5377c1d62c53ae8b84f80a21d73e50c7fb4ddc
[plstackapi.git] / planetstack / core / xoslib / tools / make_validators.py
1 import os
2 import sys
3 os.chdir("/opt/planetstack")
4 sys.path.append("/opt/planetstack")
5 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "planetstack.settings")
6 import django
7 import core.models
8 from django.db import models
9 django.setup()\r
10 from django.forms.models import model_to_dict
11 import inspect
12 from django.core import serializers
13 import json
14
15 print "function xos_get_defaults() {"
16
17 for c in dir(core.models):
18     c = getattr(core.models,c)
19     if inspect.isclass(c) and issubclass(c, models.Model):
20         c=c()
21         classname = c.__class__.__name__
22         classname = classname[0].lower() + classname[1:]
23
24         if (classname in ["plCoreBase", "singletonModel"]):
25             continue
26
27         fieldNames = [f.name for f in c._meta.fields]
28
29         fields = json.loads(serializers.serialize("json",[c],fields=fieldNames))[0]["fields"]
30
31         for f in fields.keys():
32             if f in ['created', 'updated', 'enacted']:
33                 fields[f] = None
34
35         fields_json = json.dumps(fields)
36
37         print "  this." + classname + " = " + fields_json + ";"
38
39 print "};"
40 print "xosdefaults = new xos_get_defaults();"
41