-
Notifications
You must be signed in to change notification settings - Fork 19
Closed
Description
I have a Django 1.8 project for which I'm trying to configure python-database-sanitizer using the django-sanitized-dump wrapper. Initially I created a issue under the django-sanitized-dump project but the issue seems to be with this package instead. The rest of the text is pretty much copied from the other issue.
I've created sanitizer functions and set up the sanitizer configuration. All I get is the following ConfigurationError:
root@2e57134ba7a2:/code# database-sanitizer -c .sanitizerconfig mysql://user:password@host/database
Traceback (most recent call last):
File "/usr/local/bin/database-sanitizer", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.5/site-packages/database_sanitizer/__main__.py", line 48, in main
config = Configuration.from_file(args.config[0])
File "/usr/local/lib/python3.5/site-packages/database_sanitizer/config.py", line 45, in from_file
instance.load(config_data)
File "/usr/local/lib/python3.5/site-packages/database_sanitizer/config.py", line 65, in load
self.load_sanitizers(config_data)
File "/usr/local/lib/python3.5/site-packages/database_sanitizer/config.py", line 150, in load_sanitizers
sanitizer_callback = self.find_sanitizer(sanitizer_name)
File "/usr/local/lib/python3.5/site-packages/database_sanitizer/config.py", line 230, in find_sanitizer
name,
database_sanitizer.config.ConfigurationError: Unable to find sanitizer called 'user.first_name'
The (dumbed down) project structure is as follows:
foobar/
__init__.py
forms.py
models.py
urls.py
views.py
sanitizers/
__init__.py
generic.py
user.py
manage.py
.sanitizerconfig
sanitizers/generic.py
from datetime import datetime
from django.utils import timezone
def sanitize_tz_aware_datetime(value):
dt = datetime(year=2018, month=1, day=1, hour=12, minute=0, second=0)
return timezone.make_aware(dt)sanitizers/user.py
from faker import Faker
fake = Faker()
def sanitize_email(value):
return fake.email(domain='example.com')
def sanitize_first_name(value):
return fake.first_name()
def sanitize_last_name(value):
return fake.last_name()
def sanitize_username(value):
return fake.user_name().sanitizerconfig (relevant parts)
config:
addons: []
strategy:
auth_user:
date_joined: generic.tz_aware_datetime
document: null
email: user.email
first_name: user.first_name
groups: null
id: null
image: null
is_active: null
is_staff: null
is_superuser: null
last_login: generic.tz_aware_datetime
last_name: user.last_name
logentry: null
owned_pages: null
pagerevision: null
password: null
user_permissions: null
username: user.username
userprofile: nullMetadata
Metadata
Assignees
Labels
No labels