'Run the full validation suite against the uploaded file:
* Ensure that it is a valid zip file.
* Ensure that it contains a valid manifest.json file.
* Validate the manifest fields against the spec.
Return the manifest contents (as dict).'

def validate(self):

    self.manifest = self.validate_file(self.file_obj)
    self.data = self.validate_json(self.manifest)
    self.validate_name(self.data)
    self.validate_description(self.data)
    self.validate_version(self.data)
    self.validate_author(self.data)
    self.validate_icons(self.data)
    return self.data
