def validate_speechFile(cls, speech_file: UploadedFile) -> None: # pylint: disable=invalid-name """Проверить mimetype - принимать только FLAC/WAVE файлы""" if magic.from_buffer(speech_file.read( cls.MAXIMAL_MAGIC_BYTE_LENGTH_FOR_ACCEPTED_FILETYPES), mime=True) not in [ # pylint: disable=bad-continuation 'audio/flac', 'audio/x-wav', ]: # pylint: enable=bad-continuation raise exceptions.UnsupportedMediaTypeError('Invalid speech file') speech_file.open()
def __csv_to_dataframe(self, file_data: UploadedFile, is_no_header: bool) -> pd.DataFrame: with file_data.open(mode='rt') as f: lines = f.readlines() encode = self.__get_upload_csv_encode(lines) lines_data = [str(line, encoding=encode) for line in lines] reader = csv.reader(lines_data) # self.__logger.debug(f"reader = {reader}") # self.__logger.debug(f"reader.dialect = {reader.dialect}") # self.__logger.debug(f"reader.line_num = {reader.line_num}") header = [] header_format = "列{header}" if is_no_header: row = next(reader) for i in range(len(row)): header.append(header_format.format(header=(i + 1))) reader = csv.reader(lines_data) else: header = next(reader) # self.__logger.debug(f"header = {header}") # self.__logger.debug(f"reader = {reader}") # self.__logger.debug(f"reader.line_num = {reader.line_num}") result = pd.DataFrame(data=reader, index=None, columns=header) self.__logger.debug(f"result = {result}") return result