32 lines
874 B
Python
32 lines
874 B
Python
from django.core.management.base import BaseCommand
|
|
from random import choices
|
|
from ...models import Voucher
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = "bulk-add vouchers with a given prefix and generate a latex output to render them"
|
|
|
|
def add_arguments(self, parser):
|
|
parser.add_argument("prefix", type=str)
|
|
parser.add_argument("amount", type=int)
|
|
|
|
def handle(self, *args, **options):
|
|
vouchers = Voucher.bulk_generate(options["prefix"], options["amount"])
|
|
|
|
header = r"""\begin{document}
|
|
\begin{center}
|
|
"""
|
|
output = header
|
|
even = False
|
|
for v in vouchers:
|
|
output += f"\\voucher{{{v}}}"
|
|
if even:
|
|
output += "\\newline\n"
|
|
else:
|
|
output += "\n"
|
|
even = not even
|
|
|
|
output += r"""\end{center}
|
|
\end{document}"""
|
|
|
|
print(output)
|