Some deprecation fixes for django1.4+. Added the ability to add lists to Attribute-stores lists using e.g. obj.db.mylist + [1,2,3,4]

This commit is contained in:
Griatch 2013-04-17 19:43:37 +02:00
parent c943b13351
commit 89c33a9197
7 changed files with 29 additions and 16 deletions

View file

@ -170,7 +170,6 @@ import codecs
import traceback, sys
from traceback import format_exc
from django.conf import settings
from django.core.management import setup_environ
from src.utils import logger
from src.utils import utils
from game import settings as settings_module
@ -485,15 +484,14 @@ class BatchCodeProcessor(object):
extra_environ - dict with environment variables
"""
# define the execution environment
environ = "setup_environ(settings_module)"
environdict = {"setup_environ":setup_environ,
"settings_module":settings_module}
environ = "settings_module.configure()"
environdict = {"settings_module":settings}
if extra_environ:
for key, value in extra_environ.items():
environdict[key] = value
# merge all into one block
code = "%s # auto-added by Evennia\n%s" % (environ, codedict['code'])
code = "# auto-added by Evennia\ntry:%s\nexcept RuntimeError:pass\nfinally:del settings_module\n%s" % (environ, codedict['code'])
if debug:
# try to delete marked objects
for obj in codedict['objs']:

View file

@ -132,6 +132,10 @@ class _SaverList(_SaverMutable, MutableSequence):
super(_SaverList, self).__init__(*args, **kwargs)
self._data = list(*args)
@_save
def __add__(self, otherlist):
self._data = self._data.__add__(otherlist)
return self._data
@_save
def insert(self, index, value):
self._data.insert(index, self._convert_mutables(value))

View file

@ -41,9 +41,14 @@ from twisted.internet.task import LoopingCall
# Tack on the root evennia directory to the python path and initialize django settings
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))))
from django.core.management import setup_environ
from game import settings
setup_environ(settings)
try:
from django.conf import settings as settings2
settings2.configure()
except RuntimeError
pass
finally:
del settings2
from django.conf import settings
from src.utils import utils