django-orchestra-test/scripts/migration/virtusertable.sh

35 lines
1.3 KiB
Bash

#!/bin/bash
VIRTUALTABLE="/etc/postfix/virtusertable"
echo "from orchestra.apps.users import User"
echo "from orchestra.apps.users.roles.mailbox import Address, Mailbox"
echo "from orchestra.apps.domains import Domain"
cat "$VIRTUALTABLE"|grep -v "^\s*$"|while read line; do
NAME=$(echo "$line" | awk {'print $1'} | cut -d'@' -f1)
DOMAIN=$(echo "$line" | awk {'print $1'} | cut -d'@' -f2)
DESTINATION=$(echo "$line" | awk '{$1=""; print $0}' | sed -e 's/^ *//' -e 's/ *$//')
echo "domain = Domain.objects.get(name='$DOMAIN')"
for PLACE in $DESTINATION; do
if [[ ! $(echo $PLACE | grep '@') ]]; then
echo "try:"
echo " user = User.objects.get(username='$PLACE')"
echo "except:"
echo " print 'User $PLACE does not exists'"
echo "else:"
echo " mailbox, __ = Mailbox.objects.get_or_create(user=user)"
echo " if user.account_id != 1:"
echo " user.account=domain.account"
echo " user.save()"
echo ""
fi
done
echo "address, __ = Address.objects.get_or_create(name='$NAME', domain=domain)"
echo "address.account=domain.account"
echo "address.destination='$DESTINATION'"
echo "address.save()"
done