No description
.gitignore | ||
aliasparts.csv | ||
anonymize_entries.py | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
dimocracy-voucher
Automation tools for running dimocracy
Getting started
Requirements
Installation
cd dimocracy-voucher
poetry install
poetry shell
python ./anonymize_entries.py path/to/folder
Help contents
usage: anonymize_entries.py [-h] [-c CSV] [-f FILE_UPLOADS] [-o OUTPUT] [-d | --dry-run | --no-dry-run] [-D | --deanonymized | --no-deanonymized] [-e EMAILS]
[-r | --regenerate | --no-regenerate] [-s SEED]
data_dir
positional arguments:
data_dir working directory - used to find the form responses CSV, file responses directory, and for output
options:
-h, --help show this help message and exit
-c CSV, --csv CSV override CSV form responses path (defaults to first file matching {data_dir}/*.csv)
-f FILE_UPLOADS, --file-uploads FILE_UPLOADS
override file responses directory path (defaults to first subdirectory matching {data_dir}/*/*.zip)
-o OUTPUT, --output OUTPUT
override output path (defaults to {data_dir}/output)
-d, --dry-run, --no-dry-run
do not create or modify any files
-D, --deanonymized, --no-deanonymized
skip anonymization of files, simply package them as-is
-e EMAILS, --emails EMAILS
limit output to files from the specified emails (comma-separated)
-r, --regenerate, --no-regenerate
force-update generated CSV columns
-s SEED, --seed SEED specify random seed for alias generation (treat this like a password & change it for each round)
example:
path/to/folder:
├ form_responses.csv
└ file_responses/
├ Upload A - User 1.zip
├ Upload B - User 2.zip
└ etc.
python ./anonymize_entries.py path/to/folder
OR
python ./anonymize_entries.py -c path/to/folder/form_responses.csv -f path/to/folder/file_responses