Exemple #1
0
    def clean(self):
        file_type = self.cleaned_data.get('file_type', None)
        fastq_type = self.cleaned_data.get('fastq_type')

        # -----------------------------------------
        # If this is a FastQ file, make sure the user
        # has chosen a FastQ type
        # -----------------------------------------
        if file_type == FILE_TYPE_FASTQ and not fastq_type:
            msg = "For FastQ files, please choose a FastQ type"
            self.add_error('fastq_type', msg)
            raise forms.ValidationError(msg)

        # -----------------------------------------
        # Check the dropbox metadata
        # (This should be moved to an async or ajax call in another part of the code )
        # -----------------------------------------
        file_patterns = FilePatternHelper.get_file_patterns_for_dropbox(file_type)

        # Use the dropbox API to look at the files under this dropbox_url
        #
        (success, dbox_retriever_obj_or_err_msg) = get_dropbox_metadata_from_link(\
                                self.cleaned_data.get('dropbox_url'),\
                                file_patterns=file_patterns)
        if success:
            self.dropbox_retriever_object = dbox_retriever_obj_or_err_msg
            #self.dropbox_metadata_info = dbox_retriever_obj_or_err_msg.matching_files_metadata

        else:
            #self.add_error('dropbox_url', dbox_metadata_or_err_msg)
            raise forms.ValidationError(dbox_metadata_or_err_msg)

        return self.cleaned_data
Exemple #2
0
    def clean(self):
        file_type = self.cleaned_data.get('file_type', None)
        fastq_type = self.cleaned_data.get('fastq_type')

        # -----------------------------------------
        # If this is a FastQ file, make sure the user
        # has chosen a FastQ type
        # -----------------------------------------
        if file_type == FILE_TYPE_FASTQ and not fastq_type:
            msg = "For FastQ files, please choose a FastQ type"
            self.add_error('fastq_type', msg)
            raise forms.ValidationError(msg)

        # -----------------------------------------
        # Check the dropbox metadata
        # (This should be moved to an async or ajax call in another part of the code )
        # -----------------------------------------
        file_patterns = FilePatternHelper.get_file_patterns_for_dropbox(
            file_type)

        # Use the dropbox API to look at the files under this dropbox_url
        #
        (success, dbox_retriever_obj_or_err_msg) = get_dropbox_metadata_from_link(\
                                self.cleaned_data.get('dropbox_url'),\
                                file_patterns=file_patterns)
        if success:
            self.dropbox_retriever_object = dbox_retriever_obj_or_err_msg
            #self.dropbox_metadata_info = dbox_retriever_obj_or_err_msg.matching_files_metadata

        else:
            #self.add_error('dropbox_url', dbox_metadata_or_err_msg)
            raise forms.ValidationError(dbox_metadata_or_err_msg)

        return self.cleaned_data