Skip to content
Snippets Groups Projects
Commit c990fa11 authored by Samuel GAIST's avatar Samuel GAIST
Browse files

[experiments][api] Fix key search in dictionaries

parent 49d76162
No related branches found
No related tags found
2 merge requests!2551.4.x,!242Py3 compatibility
......@@ -157,7 +157,7 @@ class ListCreateExperimentsView(ListCreateContributionView):
def post(self, request, author_name):
data = request.data
if data.has_key('name'):
if 'name' in data:
if not(isinstance(data['name'], six.string_types)):
return BadRequestResponse('Invalid name')
......@@ -170,7 +170,7 @@ class ListCreateExperimentsView(ListCreateContributionView):
else:
name = None
if data.has_key('short_description'):
if 'short_description' in data:
if not(isinstance(data['short_description'], six.string_types)):
return BadRequestResponse('Invalid short_description')
......@@ -183,7 +183,7 @@ class ListCreateExperimentsView(ListCreateContributionView):
else:
short_description = ''
if data.has_key('description'):
if 'description' in data:
if not(isinstance(data['description'], six.string_types)):
raise serializers.ValidationError({'description': 'Invalid description data'})
description = data['description']
......@@ -194,13 +194,13 @@ class ListCreateExperimentsView(ListCreateContributionView):
else:
description = None
if not(data.has_key('toolchain')):
if 'toolchain' not in data:
return BadRequestResponse('Must indicate a toolchain name')
if not(isinstance(data['toolchain'], six.string_types)):
return BadRequestResponse('Invalid toolchain name')
if not(data.has_key('declaration')):
if 'declaration' not in data:
return BadRequestResponse('Must indicate a declaration')
if not(isinstance(data['declaration'], dict)) and \
......@@ -341,17 +341,17 @@ class RetrieveUpdateDestroyExperimentView(RetrieveUpdateDestroyContributionView)
return BadRequestResponse('Experiment is not in pending state')
for key in data.keys():
if not(key in allowed_fields):
if key not in allowed_fields:
return BadRequestResponse('Experiment is not in pending state')
# Available fields (not returned by default):
# - html_description
if request.GET.has_key('fields'):
if 'fields' in request.GET:
fields_to_return = request.GET['fields'].split(',')
else:
fields_to_return = []
if data.has_key('name'):
if 'name' in data:
if not(isinstance(data['name'], six.string_types)):
raise serializers.ValidationError({'name': 'Invalid name'})
name = data['name'].replace(' ', '_')
......@@ -361,14 +361,14 @@ class RetrieveUpdateDestroyExperimentView(RetrieveUpdateDestroyContributionView)
else:
name = None
if data.has_key('short_description'):
if 'short_description' in data:
if not(isinstance(data['short_description'], six.string_types)):
raise serializers.ValidationError({'short_description': 'Invalid short_description'})
short_description = data['short_description']
else:
short_description = None
if data.has_key('description'):
if 'description' in data:
if not(isinstance(data['description'], six.string_types)):
raise serializers.ValidationError({'description': 'Invalid description data'})
description = data['description']
......@@ -379,7 +379,7 @@ class RetrieveUpdateDestroyExperimentView(RetrieveUpdateDestroyContributionView)
else:
description = None
if data.has_key('declaration'):
if 'declaration' in data:
if not(isinstance(data['declaration'], dict)) and \
not(isinstance(data['declaration'], six.string_types)):
raise serializers.ValidationError({'declaration': 'Invalid declaration'})
......@@ -394,7 +394,7 @@ class RetrieveUpdateDestroyExperimentView(RetrieveUpdateDestroyContributionView)
except:
raise serializers.ValidationError({'declaration' :'Invalid declaration data'})
if declaration.has_key('description'):
if 'description' in declaration:
if short_description is not None:
raise serializers.ValidationError({'short_description': 'A short description is already provided in the experiment declaration'})
......@@ -409,7 +409,7 @@ class RetrieveUpdateDestroyExperimentView(RetrieveUpdateDestroyContributionView)
raise serializers.ValidationError({'short_description': 'Short description too long'})
if data.has_key('toolchain'):
if 'toolchain' in data:
if not(isinstance(data['toolchain'], six.string_types)):
raise serializers.ValidationError({'toolchain': 'Invalid toolchain name'})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment