From ca9f66ee2448f9786efb866d2d5aa8a33c7780a4 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:26:43 -0600 Subject: [PATCH 01/68] feat: Remove OCR Support (#2838) * remove ocr package * remove tesseract * remove OCR from app * remove OCR from tests * fix docs --- .github/workflows/partial-backend.yml | 2 +- docker/Dockerfile | 2 - docs/docs/overrides/api.html | 2 +- .../Domain/Recipe/RecipeActionMenu.vue | 14 - .../RecipeOcrEditorPage.vue | 390 -------------- .../RecipeOcrEditorPageCanvas.vue | 488 ------------------ .../RecipeOcrEditorPageHelp.vue | 54 -- .../Recipe/RecipeOcrEditorPage/index.ts | 3 - .../RecipePageParts/RecipePageHeader.vue | 15 +- frontend/lib/api/client-user.ts | 5 - frontend/lib/api/types/ocr.ts | 25 - frontend/lib/api/types/recipe.ts | 1 - frontend/lib/api/user/ocr.ts | 16 - frontend/lib/api/user/recipes/recipe.ts | 10 - .../pages/g/_groupSlug/r/_slug/ocr-editor.vue | 51 -- frontend/pages/g/_groupSlug/r/create.vue | 5 - frontend/pages/g/_groupSlug/r/create/ocr.vue | 85 --- frontend/types/ocr-types.ts | 73 --- mealie/routes/__init__.py | 2 - mealie/routes/ocr/__init__.py | 7 - mealie/routes/ocr/pytesseract.py | 37 -- mealie/routes/recipe/recipe_crud_routes.py | 37 -- mealie/schema/ocr/__init__.py | 7 - mealie/schema/ocr/ocr.py | 21 - mealie/schema/recipe/recipe.py | 1 - mealie/services/ocr/__init__.py | 0 mealie/services/ocr/pytesseract.py | 56 -- poetry.lock | 41 +- pyproject.toml | 1 - tests/data/images/test-ocr.png | Bin 11513 -> 0 bytes tests/data/text/test-ocr.tsv | 73 --- tests/data/text/test-ocr.txt | 9 - .../services_tests/test_ocr_service.py | 58 --- tests/utils/api_routes/__init__.py | 8 - 34 files changed, 29 insertions(+), 1570 deletions(-) delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageCanvas.vue delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPageParts/RecipeOcrEditorPageHelp.vue delete mode 100644 frontend/components/Domain/Recipe/RecipeOcrEditorPage/index.ts delete mode 100644 frontend/lib/api/types/ocr.ts delete mode 100644 frontend/lib/api/user/ocr.ts delete mode 100644 frontend/pages/g/_groupSlug/r/_slug/ocr-editor.vue delete mode 100644 frontend/pages/g/_groupSlug/r/create/ocr.vue delete mode 100644 frontend/types/ocr-types.ts delete mode 100644 mealie/routes/ocr/__init__.py delete mode 100644 mealie/routes/ocr/pytesseract.py delete mode 100644 mealie/schema/ocr/__init__.py delete mode 100644 mealie/schema/ocr/ocr.py delete mode 100644 mealie/services/ocr/__init__.py delete mode 100644 mealie/services/ocr/pytesseract.py delete mode 100644 tests/data/images/test-ocr.png delete mode 100644 tests/data/text/test-ocr.tsv delete mode 100644 tests/data/text/test-ocr.txt delete mode 100644 tests/unit_tests/services_tests/test_ocr_service.py diff --git a/.github/workflows/partial-backend.yml b/.github/workflows/partial-backend.yml index 80afa791eb6b..154d98626b51 100644 --- a/.github/workflows/partial-backend.yml +++ b/.github/workflows/partial-backend.yml @@ -67,7 +67,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install libsasl2-dev libldap2-dev libssl-dev tesseract-ocr-all + sudo apt-get install libsasl2-dev libldap2-dev libssl-dev poetry install poetry add "psycopg2-binary==2.8.6" if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' || steps.cache-validate.outputs.cache-hit-success != 'true' diff --git a/docker/Dockerfile b/docker/Dockerfile index 9594c0faffb2..ee422ff643eb 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -50,7 +50,6 @@ RUN apt-get update \ build-essential \ libpq-dev \ libwebp-dev \ - tesseract-ocr-all \ # LDAP Dependencies libsasl2-dev libldap2-dev libssl-dev \ gnupg gnupg2 gnupg1 \ @@ -89,7 +88,6 @@ RUN apt-get update \ && apt-get install --no-install-recommends -y \ gosu \ iproute2 \ - tesseract-ocr-all \ libldap-common \ && rm -rf /var/lib/apt/lists/* diff --git a/docs/docs/overrides/api.html b/docs/docs/overrides/api.html index a54d6bf3c398..83038e2aead5 100644 --- a/docs/docs/overrides/api.html +++ b/docs/docs/overrides/api.html @@ -14,7 +14,7 @@
diff --git a/frontend/components/Domain/Recipe/RecipeActionMenu.vue b/frontend/components/Domain/Recipe/RecipeActionMenu.vue index c5b6a72e76cb..ad24e0ed8b13 100644 --- a/frontend/components/Domain/Recipe/RecipeActionMenu.vue +++ b/frontend/components/Domain/Recipe/RecipeActionMenu.vue @@ -102,7 +102,6 @@ const SAVE_EVENT = "save"; const DELETE_EVENT = "delete"; const CLOSE_EVENT = "close"; const JSON_EVENT = "json"; -const OCR_EVENT = "ocr"; export default defineComponent({ components: { RecipeContextMenu, RecipeFavoriteBadge, RecipeTimerMenu, RecipeTimelineBadge }, @@ -139,10 +138,6 @@ export default defineComponent({ type: Boolean, default: false, }, - showOcrButton: { - type: Boolean, - default: false, - }, }, setup(props, context) { const deleteDialog = ref(false); @@ -175,15 +170,6 @@ export default defineComponent({ }, ]; - if (props.showOcrButton) { - editorButtons.splice(2, 0, { - text: i18n.t("ocr-editor.ocr-editor"), - icon: $globals.icons.eye, - event: OCR_EVENT, - color: "accent", - }); - } - function emitHandler(event: string) { switch (event) { case CLOSE_EVENT: diff --git a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue b/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue deleted file mode 100644 index 28b96d609696..000000000000 --- a/frontend/components/Domain/Recipe/RecipeOcrEditorPage/RecipeOcrEditorPage.vue +++ /dev/null @@ -1,390 +0,0 @@ - -{{ $t("ocr-editor.help.selection-mode") }}
-- {{ $t("ocr-editor.help.split-modes.line-mode-desc") }} -
-- {{ $t("ocr-editor.help.split-modes.block-mode-desc") }} -
-{{ $t("ocr-editor.help.split-modes.flat-mode-desc") }}
-