Remove the last usage of 'eval'. gh-issue #151. gl-issue #118

This commit is contained in:
Roberto Rosario
2015-08-11 23:35:19 -04:00
parent 3fd73739a6
commit f1f1c85cbf
5 changed files with 21 additions and 33 deletions

View File

@@ -3,12 +3,11 @@ from __future__ import unicode_literals
import logging
from django.db import models, transaction
from django.template import Context, Template
from django.utils.translation import ugettext_lazy as _
from documents.models import Document
from .settings import setting_available_indexing_functions
logger = logging.getLogger(__name__)
@@ -43,10 +42,9 @@ class IndexInstanceNodeManager(models.Manager):
if template_node.enabled:
try:
result = eval(
template_node.expression, {'document': document},
setting_available_indexing_functions.value
)
template = Template(template_node.expression)
context = Context({'document': document})
result = template.render(context=context)
except Exception as exception:
error_message = _(
'Error indexing document: %(document)s; expression: '