def validated_data(self): validated_data = { 'descriptors': set(), 'interactives': set(), 'ratings': {}, } rating_list = self.data.get('RatingList') if not rating_list: return None for raw_info in rating_list: body = BODIES.get(raw_info['RatingAuthorityShortText'].lower()) if not body: # Ignore unknown rating bodies. continue validated_data['ratings'][body] = RATINGS[body.id].get( raw_info['AgeRatingText'], RATINGS[body.id]['default']) for raw_descriptor in raw_info['DescriptorList']: descriptor = DESCS_V2[body.id].get( raw_descriptor['DescriptorText']) if descriptor: validated_data['descriptors'].add(descriptor) for raw_interactive in raw_info['InteractiveElementList']: interactive = INTERACTIVES_V2.get( raw_interactive['InteractiveElementText']) if interactive: validated_data['interactives'].add(interactive) return validated_data
def validated_data(self): validated_data = { 'descriptors': set(), 'interactives': set(), 'ratings': {}, } rating_list = self.data.get('RatingList') if not rating_list: return None for raw_info in rating_list: body = BODIES.get(raw_info['RatingAuthorityShortText'].lower()) if not body: # Ignore unknown rating bodies. continue validated_data['ratings'][body] = RATINGS[body.id].get( raw_info['AgeRatingText'], RATINGS[body.id]['default']) for raw_descriptor in raw_info['DescriptorList']: descriptor = DESCS_V2[body.id].get(raw_descriptor[ 'DescriptorText']) if descriptor: validated_data['descriptors'].add(descriptor) for raw_interactive in raw_info['InteractiveElementList']: interactive = INTERACTIVES_V2.get(raw_interactive[ 'InteractiveElementText']) if interactive: validated_data['interactives'].add(interactive) return validated_data
def validated_data(self): validated_data = { 'cert_id': None, 'descriptors': set(), 'interactives': set(), 'ratings': {}, } rating_list = self.data.get('RatingList') if not rating_list: self.errors['RatingList'] = 'This field is required.' return None cert_id = self.data.get('CertID') if not cert_id: self.errors['CertID'] = 'This field is required.' return None try: validated_data['cert_id'] = UUID(cert_id) except ValueError as e: self.errors['CertID'] = e.message return None # FIXME: if we have AlreadyExists info, and the Cert does not match, # what shall we do ? for raw_info in rating_list: body = BODIES.get(raw_info['RatingAuthorityShortText'].lower()) if not body: # Ignore unknown rating bodies. continue validated_data['ratings'][body] = RATINGS[body.id].get( raw_info['AgeRatingText'], RATINGS[body.id]['default']) for raw_descriptor in raw_info['DescriptorList']: descriptor = DESCS_V2[body.id].get(raw_descriptor[ 'DescriptorText']) if descriptor: validated_data['descriptors'].add(descriptor) for raw_interactive in raw_info['InteractiveElementList']: interactive = INTERACTIVES_V2.get(raw_interactive[ 'InteractiveElementText']) if interactive: validated_data['interactives'].add(interactive) return validated_data
def validated_data(self): validated_data = { 'cert_id': None, 'descriptors': set(), 'interactives': set(), 'ratings': {}, } rating_list = self.data.get('RatingList') if not rating_list: self.errors['RatingList'] = 'This field is required.' return None cert_id = self.data.get('CertID') if not cert_id: self.errors['CertID'] = 'This field is required.' return None try: validated_data['cert_id'] = UUID(cert_id) except ValueError as e: self.errors['CertID'] = e.message return None # FIXME: if we have AlreadyExists info, and the Cert does not match, # what shall we do ? for raw_info in rating_list: body = BODIES.get(raw_info['RatingAuthorityShortText'].lower()) if not body: # Ignore unknown rating bodies. continue validated_data['ratings'][body] = RATINGS[body.id].get( raw_info['AgeRatingText'], RATINGS[body.id]['default']) for raw_descriptor in raw_info['DescriptorList']: descriptor = DESCS_V2[body.id].get( raw_descriptor['DescriptorText']) if descriptor: validated_data['descriptors'].add(descriptor) for raw_interactive in raw_info['InteractiveElementList']: interactive = INTERACTIVES_V2.get( raw_interactive['InteractiveElementText']) if interactive: validated_data['interactives'].add(interactive) return validated_data