from django.core.management.base import BaseCommand, CommandError from judge.models import Language, LanguageLimit class Command(BaseCommand): help = 'allows the problems that allow to be submitted in ' def add_arguments(self, parser): parser.add_argument('source', help='language to copy from') parser.add_argument('target', help='language to copy to') def handle(self, *args, **options): try: source = Language.objects.get(key=options['source']) except Language.DoesNotExist: raise CommandError('Invalid source language: %s' % options['source']) try: target = Language.objects.get(key=options['target']) except Language.DoesNotExist: raise CommandError('Invalid target language: %s' % options['target']) target.problem_set.set(source.problem_set.all()) LanguageLimit.objects.bulk_create(LanguageLimit(problem=ll.problem, language=target, time_limit=ll.time_limit, memory_limit=ll.memory_limit) for ll in LanguageLimit.objects.filter(language=source))