load-pratic-ldif: allow modifying existing service instances

This commit is contained in:
Benjamin Dauvergne 2015-11-25 15:33:22 +01:00
parent cb05afb2f9
commit a0b156ffab
1 changed files with 10 additions and 3 deletions

View File

@ -148,10 +148,17 @@ class PraticLDIFParser(ldif.LDIFParser):
service = self.services[entry['cdg59serviceType'][0]]
if not service.is_global and 'service_url' not in others:
others['service_url'] = 'http://missing-url-%s.com' % others['slug']
service_instance = ServiceInstance(
try:
service_instance = ServiceInstance.objects.get(
collectivity=collectivity,
service=service,
**others)
service=service)
for k, v in others.iteritems():
setattr(service_instance, k, v)
except ServiceInstance.DoesNotExist:
service_instance = ServiceInstance(
collectivity=collectivity,
service=service,
**others)
try:
service_instance.clean()
except ValidationError, e: