From 2d90cfaa51b1f8d9f783abe24df12be72f9c2a99 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Sat, 23 Jan 2010 10:09:07 +1100 Subject: [PATCH] * move Dict/Tuple field code into python-oxdjango --- oxdb/backend/fields.py | 47 ------------------------------------------ oxdb/backend/models.py | 5 +++-- 2 files changed, 3 insertions(+), 49 deletions(-) delete mode 100644 oxdb/backend/fields.py diff --git a/oxdb/backend/fields.py b/oxdb/backend/fields.py deleted file mode 100644 index e556ecca..00000000 --- a/oxdb/backend/fields.py +++ /dev/null @@ -1,47 +0,0 @@ -from django.db import models -from django.utils import simplejson as json - - -class DictField(models.TextField): - """DictField is a textfield that contains JSON-serialized dictionaries.""" - - # Used so to_python() is called - __metaclass__ = models.SubfieldBase - - def to_python(self, value): - """Convert our string value to python after we load it from the DB""" - if isinstance(value, dict): - return value - - value = json.loads(value) - assert isinstance(value, dict) - return value - - def get_db_prep_save(self, value): - """Convert our JSON object to a string before we save""" - assert isinstance(value, dict) - value = json.dumps(value) - return super(DictField, self).get_db_prep_save(value) - - -class TupleField(models.TextField): - """TupleField is a textfield that contains JSON-serialized tuples.""" - - # Used so to_python() is called - __metaclass__ = models.SubfieldBase - - def to_python(self, value): - """Convert our string value to JSON after we load it from the DB""" - if isinstance(value, tuple): - return value - - value = json.loads(value) - assert isinstance(value, list) - return tuple(value) - - def get_db_prep_save(self, value): - """Convert our JSON object to a string before we save""" - assert isinstance(value, tuple) - value = json.dumps(value) - return super(TupleField, self).get_db_prep_save(value) - diff --git a/oxdb/backend/models.py b/oxdb/backend/models.py index ee5cebb2..ffa17634 100644 --- a/oxdb/backend/models.py +++ b/oxdb/backend/models.py @@ -9,14 +9,15 @@ from django.db import models from django.db.models import Q from django.contrib.auth.models import User from django.core.files.base import ContentFile +from django.utils import simplejson as json + import oxlib from oxlib import stripTags from oxlib.normalize import canonicalTitle, canonicalName -from django.utils import simplejson as json +from oxdjango import fields import utils import managers -import fields import load class MovieImdb(models.Model):