A script that allows you to organise a secret santa game.
Find a file
Shannon Sterz 4df86a8e8c define new passCmd config option
allows specifying a command from which the password is queried
2024-10-03 21:49:53 +02:00
.gitignore fix: small fix and add readme and LICENSE 2018-09-09 22:37:01 +02:00
config.json define new passCmd config option 2024-10-03 21:49:53 +02:00
LICENSE fix: small fix and add readme and LICENSE 2018-09-09 22:37:01 +02:00
participants.json fix: refactor script to be more modular and add price to config 2022-10-26 14:32:23 +02:00
README.md fix: remove typos etc. 2018-09-24 23:06:21 +02:00
wichteln.py define new passCmd config option 2024-10-03 21:49:53 +02:00

Wichteln

This is a small script that allows you to organize a secret santa game (or »Wichteln« in German). It accepts the following arguments:

  • -h displays a help message
  • -c FILE or --config FILE specifies the location of the configuration file, which should contain all information needed to connect to an SMTP server. An example configuration file is given in config.json. It also defaults to config.json.
  • -p FILE or --participants FILE specifies the location of the file containing a list of participants. An example file is provided in participants.json. It also defaults to participants.json.

participants.json Format

The participants.json file contains an array of objects. Each objects should specifiy the following three fields:

  • name The name of the participant
  • mail The email adress of the participant
  • gender This field is necessary, because this script has to send emails adressing each participant correctly and in German that depends on the gender of the recipient. However instead of just choosing a boolean value to represent gender, I chose to just store the actually needed information: the ending for the German word »Lieb(e|er|...)«. This allows for more then two genders and is in my opinion generally a little bit more elegant to use in this context.

Note: This script was created in a German-speaking context, if you want to adapt the emails that this script sends, change the text in lines 78 and 81-84.