def get(self, datafile_id): """ Retorna as informações de apenas 1 arquivo Args: datafile_id: id do arquivo que vc deseja obter """ service = DataFileService() document = service.get_datafile(datafile_id) return self.schema.dump(document)
def get(self): args = get_model.parse_args() datafile_service = DataFileService() sentences, total = datafile_service.get_sentences(**args) return { "datafile_id": args["datafile_id"], "skip": args["skip"], "limit": args["limit"], "total": sentences.count(), "sentences": self.schema.dump(sentences, many=True) }
def delete(self, datafile_id): """ Exclui o arquivo """ service = DataFileService() try: deleted = service.delete_datafile(datafile_id) return {"deleted": deleted} except NotAuthorized: return { "status": "not_authorized", "error": "Você não possui autorização para excluir esse arquivo" }, 403
def get(self): """ Retorna a lista de arquivos desse usuario """ args = get_list_model.parse_args() service = DataFileService() documents = service.list_all_datafiles(**args) result = { "documents": self.schema.dump(documents, many=True), "total": documents.count() } return result
def post(self): """ Realiza o upload de um novo arquivo. """ args = post_model.parse_args() service = DataFileService() try: datafile = service.import_datafile(**args) return {'id': datafile.id} except NotUniqueError: return { 'status': 'alrealy_exists', 'error': 'Você ja realizou o upload deste arquivo.' }, 409 except TextColumnNotFound as e: return {"status": "column_not_found", "error": e.args[0]}, 409 except FileReadException as fre: logger.error("Ocorreu um erro ao ler o arquivo do usuário", exc_info=True, extra={"received_args": args}) return { 'status': "file_read_error", "error": "Ocorreu um erro ao ler o arquivo, isso normalmente é causado por um arquivo mal formatado, " "corrompido ou então um formato não suportado até o momento" }, 415 except InvalidFormatException as fie: logger.error( "O formato de arquivo informado não é suportado no momento", exc_info=True, extra={"received_args": args}) return { 'status': "invalid_format", "error": "Desculpe, mas atualmente não fornecemos suporte ao tipo de arquivo informado, " "converta seu arquivo para um dos formatos suportados e tente novamente." }, 415
def __init__(self, datafile_id: str = None): self.user = get_current_user() self.datafile = DataFileService().get_datafile(datafile_id)