Comments (4)
Mealie now uses recipe-scrapers library (https://github.com/hhursev/recipe-scrapers) starting from 0.5.0.
Any specific integration for a website should be considered there instead of inside Mealie.
from mealie.
I came across quite a few (German) websites that do not work with Mealie and I think website specific parsers are a very good idea. Especially non-JSON ones are required for some big recipe sites out there. We could even extend this to say ebooks or YouTube video descriptions. Maybe match the website with url regex provided by the parser. I doubt that one single parser can be made smart enough to work with all the infinite variations of how recipes are formatted.
Really looking forward for that feature. It would very much improve this already fantastic piece of software!
from mealie.
Mealie could benefit from it tremendously by allowing the community to supply their own plugins for additional sites who don't store recipes in a standard format.
I've been thinking about this the past few days and I'm not really sure how to approach a plugin architecture. Currently the FastAPI backend provides API endpoint for nearly everything that is done on the backend, including creating a recipe from JSON data. A 3rd Part plugin just needs to filter/format the data according to the schema Mealie uses.
Mealie already uses a "normalization" process internally to parse through different types of the schemas used. A specific PR guideline/developer guide on improving the internal parser may be a better solution than a plugin architecture.
you could use something like Celery or another job queueing system in order to offload imports from the main thread
This was also something I considered for scheduling. My main decision not to was, well do I really need to spin up 3 containers for a self-hosted recipe app? Seems kind of crazy, but it may be needed down the line. I think implementing async code would solve some speed problems in the application. I will say I don't have a lot of experience writing async python
I'm interested to hear others thoughts
from mealie.
Closing this for now. If anyone is interested in working on a plugin system, please use GitHub discussions.
from mealie.
Related Issues (20)
- Update mealie to HA documentation example code. HOT 2
- [BUG] - OIDC - Invalid JSON Web Key Set HOT 8
- [BUG] - POSTGRES_URL_OVERRIDE requires an unnecessary `:` in the URI HOT 1
- [BUG] - Unable to update recipe rating using the API HOT 1
- [BUG] - Fractions of ingredient quantities less than 1 aren't displayed when no unit is selected HOT 2
- [BUG] - Changing Timezone in docker-compose.yml results in error HOT 2
- [SCRAPER] - Can not import from bettybossi.ch HOT 1
- Cant access after installing docker HOT 1
- [BUG] - Recipe image from another mealie instance HOT 3
- Setting backend passwords with docker compose secrets HOT 9
- [BUG] - Merging ingredient doesnt work if referenced by a shopping list HOT 3
- [BUG] - Improve Random Dinner Selection Feature in Meal Planner HOT 1
- [BUG] - OpenAI - Error when using Ollama with no API Key HOT 5
- [BUG] - Using Authelia with OIDC comes back to login page HOT 7
- [SCRAPER] - Aldi (Australia) HOT 2
- Meal plan editing on iPad drags items rather than scrolls HOT 1
- [BUG] - Migrate from Recipe Keeper FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpm53kb5gd/recipekeeperhtml/recipes.html' HOT 5
- [BUG] - Recipe Keeper Import Failure HOT 1
- [BUG] - Scraper and image URL getter can't identify .jpeg HOT 4
- Shopping list goes blank as soon as internet connection is lost on iPhone HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mealie.