Scott Baker | ab2a168 | 2014-11-25 11:23:04 -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 | 56f799b | 2014-11-25 11:35:19 -0800 | [diff] [blame] | 15 | print "function xos_get_validators() {" |
Scott Baker | ab2a168 | 2014-11-25 11:23:04 -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 | |
Scott Baker | 56f799b | 2014-11-25 11:35:19 -0800 | [diff] [blame] | 27 | fields = c.getValidators(); |
Scott Baker | ab2a168 | 2014-11-25 11:23:04 -0800 | [diff] [blame] | 28 | |
| 29 | fields_json = json.dumps(fields) |
| 30 | |
| 31 | print " this." + classname + " = " + fields_json + ";" |
| 32 | |
| 33 | print "};" |
Scott Baker | 56f799b | 2014-11-25 11:35:19 -0800 | [diff] [blame] | 34 | print "xosvalidators = new xos_get_validators();" |
Scott Baker | ab2a168 | 2014-11-25 11:23:04 -0800 | [diff] [blame] | 35 | |