__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from django.core.management.base import BaseCommand
from journals.models import Journal
from journals.factories import PublicationFactory
[docs]class Command(BaseCommand):
help = "Create random Publication objects by using the factories."
[docs] def add_arguments(self, parser):
parser.add_argument(
"number",
action="store",
default=0,
type=int,
help="Number of publications to add",
)
parser.add_argument(
"--journal",
choices=[i.doi_label for i in Journal.objects.filter(active=True)],
action="store",
dest="journal",
help="The name of the specific Journal to add the Publications to",
)
[docs] def handle(self, *args, **kwargs):
if kwargs["number"] > 0:
journal = None
if kwargs.get("journal"):
journal = kwargs["journal"]
self.create_publications(kwargs["number"], journal=journal)
[docs] def create_publications(self, n, journal=None):
PublicationFactory.create_batch(n, journal=journal)
self.stdout.write(
self.style.SUCCESS("Successfully created {n} Publications.".format(n=n))
)