Add CSV govplan importer

This commit is contained in:
Stefan Wehrmeyer 2022-02-28 10:46:38 +01:00
parent df92fa5c27
commit a0447d7a15
4 changed files with 121 additions and 0 deletions

View file

View file

@ -0,0 +1,31 @@
import csv
import json
from django.core.management.base import BaseCommand
from ...models import Government
from ...utils import PlanImporter
class Command(BaseCommand):
help = "Loads public bodies"
def add_arguments(self, parser):
parser.add_argument("government", type=str)
parser.add_argument("json_mapping", type=str)
parser.add_argument("filename", type=str)
def handle(self, *args, **options):
government = Government.objects.get(slug=options["government"])
with open(options["json_mapping"]) as f:
col_mapping = json.load(f)
importer = PlanImporter(government, col_mapping=col_mapping)
filename = options["filename"]
with open(filename) as csv_file:
reader = csv.DictReader(csv_file)
importer.import_rows(reader)
self.stdout.write("Import done.\n")