def process_position(housenumber, center, kind): kind = KIND_MAPPING.get(kind, kind) instance = Position.where(Position.housenumber == housenumber, Position.kind == kind).first() version = instance.version + 1 if instance else 1 validator = Position.validator(housenumber=housenumber, center=center, source='BAL', # Use siren from filename? positioning=Position.IMAGERY, kind=kind, instance=instance, version=version) if validator.errors: reporter.error('Position error', validator.errors) else: position = validator.save() msg = 'Position updated' if instance else 'Position created' reporter.notice(msg, position.id)