BetterWorks / django-anonymizer

MIT License
14 stars 12 forks source link

Lambda anonymizer #35

Open camilonova opened 6 years ago

camilonova commented 6 years ago

I'm trying to do:

    attributes = [
        ('id', "SKIP"),
        ('password', lambda *args: 'test'),
        ('last_login', "SKIP"),
    ]

But I get this error:

Running userprofile.anonymizers.UserAnonymizer... Traceback (most recent call last):
  File "manage.py", line 9, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 476, in handle
    app_output = self.handle_app_config(app_config, **options)
  File "/usr/local/lib/python3.6/site-packages/anonymizer/management/commands/anonymize_data.py", line 38, in handle_app_config
    instance.run(chunksize=chunksize, parallel=parallel)
  File "/usr/local/lib/python3.6/site-packages/anonymizer/base.py", line 317, in run
    future.get()
  File "/usr/local/lib/python3.6/multiprocessing/pool.py", line 608, in get
    raise self._value
  File "/usr/local/lib/python3.6/multiprocessing/pool.py", line 385, in _handle_tasks
    put(task)
  File "/usr/local/lib/python3.6/multiprocessing/connection.py", line 206, in send
    self._send_bytes(_ForkingPickler.dumps(obj))
  File "/usr/local/lib/python3.6/multiprocessing/reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function UserAnonymizer.<lambda> at 0x7f654d0bd7b8>: attribute lookup UserAnonymizer.<lambda> on userprofile.anonymizers failed

What is the correct way to define a static value?