Compare commits

...

7 Commits

Author SHA1 Message Date
vabene1111
b6b505c361 fixed nutrition scaling fractiosn 2021-02-18 11:11:07 +01:00
vabene1111
97cef449c9 fixed recipe template rendering scaling issue 2021-02-18 09:37:17 +01:00
vabene1111
fef6f695ce chowdown import folder syntax support 2021-02-18 09:36:13 +01:00
vabene1111
73a24a8ef0 chowdown doc warning 2021-02-18 09:29:11 +01:00
vabene1111
e727cae020 fixed typo that broke fractions 2021-02-18 09:17:42 +01:00
vabene1111
894d2d2e6b gracful recipes api error on wrong format of update_at 2021-02-16 22:14:40 +01:00
vabene1111
543e52d596 updated preview image 2021-02-15 22:05:04 +01:00
11 changed files with 19 additions and 13 deletions

View File

@@ -12,7 +12,7 @@ class Chowdown(Integration):
def import_file_name_filter(self, zip_info_object):
print("testing", zip_info_object.filename)
return re.match(r'^_recipes/([A-Za-z\d\s-])+.md$', zip_info_object.filename)
return re.match(r'^(_)*recipes/([A-Za-z\d\s-])+.md$', zip_info_object.filename)
def get_recipe_from_file(self, file):
ingredient_mode = False

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -9,7 +9,7 @@ from annoying.functions import get_object_or_None
from django.contrib import messages
from django.contrib.auth.models import User
from django.core import management
from django.core.exceptions import FieldError
from django.core.exceptions import FieldError, ValidationError
from django.core.files import File
from django.db.models import Q
from django.http import FileResponse, HttpResponse, JsonResponse
@@ -70,6 +70,8 @@ class StandardFilterMixin(ViewSetMixin):
queryset = queryset.filter(updated_at__gte=updated_at)
except FieldError:
pass
except ValidationError:
raise APIException(_('Parameter updated_at incorrectly formatted'))
limit = self.request.query_params.get('limit', None)
random = self.request.query_params.get('random', False)

View File

@@ -63,6 +63,11 @@ Images are saved in a directory called `images`.
In order to import your Chowdown recipes simply create a `.zip` file from those two folders and import them.
The folder structure should look as follows
!!! info "_recipes"
For some reason chowdown uses `_` before the `recipes` folder. To avoid confusion the import supports both
`_recipes` and `recipes`
```
Recipes.zip/
├── _recipes/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

View File

@@ -12,7 +12,7 @@
<i class="far fa-check-circle text-primary" v-if="!ingredient.checked"></i>
</td>
<td>
<span v-if="ingredient.amount !== 0">{{ calculateAmount(ingredient.amount) }}</span>
<span v-if="ingredient.amount !== 0" v-html="calculateAmount(ingredient.amount)"></span>
</td>
<td>
<span v-if="ingredient.unit !== null && !ingredient.no_amount">{{ ingredient.unit.name }}</span>

View File

@@ -15,7 +15,7 @@
<i class="fas fa-fire fa-fw text-primary"></i> {{ _('Calories') }}
</div>
<div class="col-6">
{{ calculateAmount(recipe.nutrition.calories) }} kcal
<span v-html="calculateAmount(recipe.nutrition.calories)"></span> kcal
</div>
</div>
@@ -24,8 +24,7 @@
<i class="fas fa-bread-slice fa-fw text-primary"></i> {{ _('Carbohydrates') }}
</div>
<div class="col-6">
{{ calculateAmount(recipe.nutrition.carbohydrates) }} g
<span v-html="calculateAmount(recipe.nutrition.carbohydrates)"></span> g
</div>
</div>
@@ -34,7 +33,7 @@
<i class="fas fa-cheese fa-fw text-primary"></i> {{ _('Fats') }}
</div>
<div class="col-6">
{{ calculateAmount(recipe.nutrition.fats) }} g
<span v-html="calculateAmount(recipe.nutrition.fats)"></span> g
</div>
</div>
@@ -43,7 +42,7 @@
<i class="fas fa-drumstick-bite fa-fw text-primary"></i> {{ _('Proteins') }}
</div>
<div class="col-6">
{{ calculateAmount(recipe.nutrition.proteins) }} g
<span v-html="calculateAmount(recipe.nutrition.proteins)"></span> g
</div>
</div>
</div>

View File

@@ -1,5 +1,5 @@
<template>
<span>{{ calculateAmount(number) }}</span>
<span v-html="calculateAmount(number)"></span>
</template>

View File

@@ -78,9 +78,9 @@ export function getUserPreference(pref) {
import {frac} from "@/utils/fractions";
export function calculateAmount(amount, factor) {
if (getUserPreference('user_fractions')) {
if (getUserPreference('use_fractions')) {
let return_string = ''
let fraction = frac.cont((amount * factor), 9, true)
let fraction = frac((amount * factor), 9, true)
if (fraction[0] > 0) {
return_string += fraction[0]