Fix ServerConfig model for Py3.

This commit is contained in:
Ryan Stein 2017-10-29 22:20:23 -04:00
parent 9d48e616b1
commit b5cf27fc18

View file

@ -8,12 +8,7 @@ Config values should usually be set through the
manager's conf() method. manager's conf() method.
""" """
from builtins import object import pickle
try:
import pickle as pickle
except ImportError:
import pickle
from django.db import models from django.db import models
from evennia.utils.idmapper.models import WeakSharedMemoryModel from evennia.utils.idmapper.models import WeakSharedMemoryModel
@ -48,7 +43,7 @@ class ServerConfig(WeakSharedMemoryModel):
# main name of the database entry # main name of the database entry
db_key = models.CharField(max_length=64, unique=True) db_key = models.CharField(max_length=64, unique=True)
# config value # config value
db_value = models.TextField(blank=True) db_value = models.BinaryField(blank=True)
objects = ServerConfigManager() objects = ServerConfigManager()
_is_deleted = False _is_deleted = False
@ -83,7 +78,7 @@ class ServerConfig(WeakSharedMemoryModel):
#@property #@property
def __value_get(self): def __value_get(self):
"Getter. Allows for value = self.value" "Getter. Allows for value = self.value"
return pickle.loads(str(self.db_value)) return pickle.loads(self.db_value)
#@value.setter #@value.setter
def __value_set(self, value): def __value_set(self, value):