/usr/lib/python2.7/dist-packages/sanitizer/models.py is in python-django-html-sanitizer 0.1.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | from django.conf import settings
from django.db import models
import sys
if sys.version_info[0] == 3:
from django.utils.encoding import smart_text as smart_unicode
else:
from django.utils.encoding import smart_unicode
import bleach
class SanitizedCharField(models.CharField):
def __init__(self, allowed_tags=[], allowed_attributes=[],
allowed_styles=[], strip=False,
*args, **kwargs):
self._sanitizer_allowed_tags = allowed_tags
self._sanitizer_allowed_attributes = allowed_attributes
self._sanitizer_allowed_styles = allowed_styles
self._sanitizer_strip = strip
super(SanitizedCharField, self).__init__(*args, **kwargs)
def to_python(self, value):
value = super(SanitizedCharField, self).to_python(value)
value = bleach.clean(value, tags=self._sanitizer_allowed_tags,
attributes=self._sanitizer_allowed_attributes,
styles=self._sanitizer_allowed_styles, strip=self._sanitizer_strip)
return smart_unicode(value)
class SanitizedTextField(models.TextField):
def __init__(self, allowed_tags=[], allowed_attributes=[],
allowed_styles=[], strip=False,
*args, **kwargs):
self._sanitizer_allowed_tags = allowed_tags
self._sanitizer_allowed_attributes = allowed_attributes
self._sanitizer_allowed_styles = allowed_styles
self._sanitizer_strip = strip
super(SanitizedTextField, self).__init__(*args, **kwargs)
def to_python(self, value):
value = super(SanitizedTextField, self).to_python(value)
value = bleach.clean(value, tags=self._sanitizer_allowed_tags,
attributes=self._sanitizer_allowed_attributes,
styles=self._sanitizer_allowed_styles, strip=self._sanitizer_strip)
return smart_unicode(value)
def get_prep_value(self, value):
value = super(SanitizedTextField, self).get_prep_value(value)
value = bleach.clean(value, tags=self._sanitizer_allowed_tags,
attributes=self._sanitizer_allowed_attributes,
styles=self._sanitizer_allowed_styles, strip=self._sanitizer_strip)
return value
if 'south' in settings.INSTALLED_APPS:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^sanitizer\.models\.SanitizedCharField"])
add_introspection_rules([], ["^sanitizer\.models\.SanitizedTextField"])
|