[Glitch] Fix OCR failure when erroneous lang data is in cache

Port 8428faa085 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
rebase/4.0.0rc2
Claire 2021-06-15 22:11:07 +02:00
parent 4aa78027ea
commit 6dd51448a6
1 changed files with 13 additions and 2 deletions

View File

@ -219,6 +219,10 @@ class FocalPointModal extends ImmutablePureComponent {
}
handleTextDetection = () => {
this._detectText();
}
_detectText = (refreshCache = false) => {
const { media } = this.props;
this.setState({ detecting: true });
@ -235,6 +239,7 @@ class FocalPointModal extends ImmutablePureComponent {
this.setState({ ocrStatus: 'preparing', progress });
}
},
cacheMethod: refreshCache ? 'refresh' : 'write',
});
let media_url = media.get('url');
@ -247,14 +252,20 @@ class FocalPointModal extends ImmutablePureComponent {
}
}
(async () => {
return (async () => {
await worker.load();
await worker.loadLanguage('eng');
await worker.initialize('eng');
const { data: { text } } = await worker.recognize(media_url);
this.setState({ description: removeExtraLineBreaks(text), dirty: true, detecting: false });
await worker.terminate();
})();
})().catch((e) => {
if (refreshCache) {
throw e;
} else {
this._detectText(true);
}
});
}).catch((e) => {
console.error(e);
this.setState({ detecting: false });