mirror of https://github.com/interlegis/sigi.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.1 KiB
30 lines
1.1 KiB
from django.core.management.base import BaseCommand
|
|
from django.utils import timezone
|
|
from sigi.apps.eventos.models import Evento
|
|
from sigi.apps.eventos.saberes import SaberesSyncException
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = "Carrega dados de participantes de eventos do Moodle para o SIGI"
|
|
|
|
def handle(self, *args, **options):
|
|
eventos = Evento.objects.exclude(moodle_courseid=None).filter(
|
|
data_termino__lt=timezone.localtime()
|
|
)
|
|
self.stdout.write(f"Processando {eventos.count()} eventos:")
|
|
counter = 0
|
|
for evento in eventos:
|
|
counter += 1
|
|
try:
|
|
evento.sincroniza_saberes()
|
|
self.stdout.write(
|
|
self.style.SUCCESS(
|
|
f"✔ {counter}: {evento.nome} sincronizado."
|
|
)
|
|
)
|
|
except SaberesSyncException as err:
|
|
self.stdout.write(
|
|
self.style.ERROR(
|
|
f"✖ {counter}: {evento.nome}: {err.message}"
|
|
)
|
|
)
|
|
|