Making doc extraction more reliable (#17842)

* Making doc extraction more reliable

* fix error message

* Adding test doc file

* Removing test that not works on CI because the lack of a binary

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Jesús Espino
2021-07-29 11:57:51 +02:00
коммит произвёл GitHub
родитель 0f07a934ff
Коммит b9cceb70ae
14 изменённых файлов: 34 добавлений и 32 удалений

Просмотреть файл

@@ -150,7 +150,7 @@ func TestExtract(t *testing.T) {
require.Equal(t, "", text)
})
t.Run("Wrong extension", func(t *testing.T) {
t.Run("Wrong docx extension", func(t *testing.T) {
data, err := testutils.ReadTestFile("sample-doc.pdf")
require.NoError(t, err)
text, err := Extract("sample-doc.docx", bytes.NewReader(data), ExtractSettings{})

Просмотреть файл

@@ -31,7 +31,14 @@ func (de *documentExtractor) Match(filename string) bool {
return ok
}
func (de *documentExtractor) Extract(filename string, r io.ReadSeeker) (string, error) {
func (de *documentExtractor) Extract(filename string, r io.ReadSeeker) (out string, outErr error) {
defer func() {
if r := recover(); r != nil {
out = ""
outErr = errors.New("error extracting document text")
}
}()
extension := strings.TrimPrefix(path.Ext(filename), ".")
converter, ok := doconvConverterByExtensions[extension]
if !ok {