From f0bca5e89aa69f43a7a06eec94230f56ef691461 Mon Sep 17 00:00:00 2001 From: MG Date: Tue, 19 Jun 2018 00:13:47 +0200 Subject: [PATCH] Add equipment importer --- .../commands/import_univis_equipment.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 roofis2/roomservice/management/commands/import_univis_equipment.py diff --git a/roofis2/roomservice/management/commands/import_univis_equipment.py b/roofis2/roomservice/management/commands/import_univis_equipment.py new file mode 100644 index 0000000..374b74d --- /dev/null +++ b/roofis2/roomservice/management/commands/import_univis_equipment.py @@ -0,0 +1,32 @@ +from django.core.management.base import BaseCommand +from roomservice.utils import migrate_data_rooms +from roomservice.models import Equipment + +import logging + +logger = logging.getLogger(__name__) + +UNIVIS_IDS_MAP = [{'id': 'LOSE', 'name': 'Lose Bestuhlung'}, + {'id': 'FEST', 'name': 'Feste Bestuhlung'}, + {'id': 'ANST', 'name': 'Sitzreihen ansteigend'}, + {'id': 'DARK', 'name': 'Verdunklung'}, + {'id': 'VISU', 'name': 'DocCam'}, + {'id': 'DBEAM', 'name': 'Doppelprojektion'}, + {'id': 'PC', 'name': 'Interner PC'}, + {'id': 'MIKR', 'name': 'Pultmikrofon'}, + {'id': 'FUNK', 'name': 'Funkmikrofon'}, + {'id': 'INDUK', 'name': 'Induktive Höranlage'}, + {'id': 'DVD', 'name': 'DVD-Player'}, + {'id': 'BLURAY', 'name': 'BluRay-Player'}, + {'id': 'PRUEF', 'name': 'Prüfungsraum'}, + {'id': 'OHEAD', 'name': 'Overheadprojektor'}] + + +class Command(BaseCommand): + help = "Import room data from univis prg api" + + def handle(self, *args, **options): + logger.info("Start:\nEquipment: {}".format(Equipment.objects.count())) + for elem in UNIVIS_IDS_MAP: + equip, _ = Equipment.objects.update_or_create(univis_id=elem['id'], name=elem['name']) + logger.info("Start:\nEquipment: {}".format(Equipment.objects.count()))