def _import(self, folder): json_folder = folder + JSONPATTERN print("Nuking the DB:", end='') Record.objects.all().delete() Tag.objects.all().delete() print("Done") print("Importing: %s" % json_folder) file_counter = 0 for filename in iglob(json_folder): with open(filename) as f: file_counter += 1 print("#%s" % file_counter) details = load_json(f) record = Record( record_number=details['record number'] if 'record number' in details else None, area=details['area'] if 'area' in details else None, date_raw=details['date'] if 'date' in details else None, date=self._date_cleanup(details['date']) if 'date' in details else None, street=details['street'] if 'street' in details else None, number=details['number'] if 'number' in details else None, image_url=details['image_url'] if 'image_url' in details else None, description=details['description'] if 'description' in details else None, caption=details['caption'] if 'caption' in details else None) record.save() if record.date is None: print( "Error with date in %s: %s" % (details['record number'], details['date'] if 'date' in details else "NO DATE")) if details['tags'] is not None: for tag_title in details['tags']: tag_title = self._tag_cleanup(tag_title) try: tag = Tag.objects.get(title=tag_title) except Tag.DoesNotExist: tag = Tag(title=tag_title) tag.save() record.tags.add(tag) record.save()