From 2517fe20e73f82bfdcb835cfc477cef283fb40a6 Mon Sep 17 00:00:00 2001 From: Nicolas Joyard <joyard.nicolas@gmail.com> Date: Thu, 7 Jul 2016 17:54:10 +0200 Subject: [PATCH] Add chamber creation helper --- .../francedata/import_representatives.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/representatives/contrib/francedata/import_representatives.py b/representatives/contrib/francedata/import_representatives.py index 926bf83..5c6b066 100644 --- a/representatives/contrib/francedata/import_representatives.py +++ b/representatives/contrib/francedata/import_representatives.py @@ -90,6 +90,18 @@ class GenericImporter(object): return (instance, created) +def ensure_chambers(): + """ + Ensures chambers are created + """ + france = Country.objects.get(name="France") + for key in ('AN', 'SEN'): + variant = FranceDataVariants[key] + Chamber.objects.get_or_create(name=variant['chamber'], + abbreviation=variant['abbreviation'], + country=france) + + class FranceDataImporter(GenericImporter): url = 'http://francedata.future/data/parlementaires.json' @@ -99,9 +111,7 @@ class FranceDataImporter(GenericImporter): def __init__(self, variant): self.france = Country.objects.get(name="France") self.variant = FranceDataVariants[variant] - self.chamber, _ = Chamber.objects.get_or_create( - name=self.variant['chamber'], - abbreviation=self.variant['abbreviation'], country=self.france) + self.chamber = Chamber.objects.get(name=self.variant['chamber']) self.ch_constituency, _ = Constituency.objects.get_or_create( name=self.variant['chamber'], country=self.france) @@ -311,6 +321,8 @@ def main(stream=None): if not apps.ready: django.setup() + ensure_chambers() + an_importer = FranceDataImporter('AN') GenericImporter.pre_import(an_importer) -- GitLab