Scott Baker | 566f34d | 2014-11-11 17:10:16 -0800 | [diff] [blame] | 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()
|
| 10 | from django.forms.models import model_to_dict |
| 11 | import inspect |
| 12 | from django.core import serializers |
| 13 | import json |
| 14 | |
Scott Baker | a34d8c4 | 2014-11-11 18:02:35 -0800 | [diff] [blame] | 15 | print "function xos_get_defaults() {" |
Scott Baker | 566f34d | 2014-11-11 17:10:16 -0800 | [diff] [blame] | 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 "};" |
Scott Baker | a34d8c4 | 2014-11-11 18:02:35 -0800 | [diff] [blame] | 40 | print "xosdefaults = new xos_get_defaults();" |
Scott Baker | 566f34d | 2014-11-11 17:10:16 -0800 | [diff] [blame] | 41 | |