import stuff

This commit is contained in:
vabene1111
2024-12-11 20:56:27 +01:00
parent f1f907ee33
commit ad57ce7790
38 changed files with 279 additions and 15 deletions

View File

@@ -1559,12 +1559,15 @@ class RecipeFromSourceSerializer(serializers.Serializer):
data = serializers.CharField(required=False, allow_null=True, allow_blank=True)
bookmarklet = serializers.IntegerField(required=False, allow_null=True, )
class SourceImportFoodSerializer(serializers.Serializer):
name = serializers.CharField()
class SourceImportUnitSerializer(serializers.Serializer):
name = serializers.CharField()
class SourceImportIngredientSerializer(serializers.Serializer):
amount = serializers.FloatField()
food = SourceImportFoodSerializer()
@@ -1572,25 +1575,30 @@ class SourceImportIngredientSerializer(serializers.Serializer):
note = serializers.CharField(required=False)
original_text = serializers.CharField()
class SourceImportStepSerializer(serializers.Serializer):
instruction = serializers.CharField()
ingredients = SourceImportIngredientSerializer(many=True)
show_ingredients_table = serializers.BooleanField()
class SourceImportKeywordSerializer(serializers.Serializer):
id = serializers.IntegerField(allow_null=True)
label = serializers.CharField()
name = serializers.CharField()
import_keyword = serializers.BooleanField()
class SourceImportPropertyTypeSerializer(serializers.Serializer):
id = serializers.IntegerField()
name = serializers.CharField()
class SourceImportPropertySerializer(serializers.Serializer):
property_type = SourceImportPropertyTypeSerializer(many=False)
property_amount = serializers.FloatField()
class SourceImportRecipeSerializer(serializers.Serializer):
steps = SourceImportStepSerializer(many=True)
internal = serializers.BooleanField()
@@ -1606,12 +1614,17 @@ class SourceImportRecipeSerializer(serializers.Serializer):
properties = serializers.ListField(child=SourceImportPropertySerializer())
class SourceImportDuplicateSerializer(serializers.Serializer):
id = serializers.IntegerField()
name = serializers.CharField()
class RecipeFromSourceResponseSerializer(serializers.Serializer):
recipe = SourceImportRecipeSerializer(default=None)
images = serializers.ListField( default=[])
images = serializers.ListField(child=serializers.CharField(),default=[], allow_null=False)
error = serializers.BooleanField(default=False)
msg = serializers.CharField(max_length=1024, default='')
duplicate = serializers.ListField(child=serializers.IntegerField(), default=[])
duplicates = serializers.ListField(child=SourceImportDuplicateSerializer(), default=[], allow_null=False)
class ImportImageSerializer(serializers.Serializer):

View File

@@ -1754,7 +1754,7 @@ class RecipeUrlImportView(APIView):
if scrape:
response['recipe'] = helper.get_from_scraper(scrape, request)
response['images'] = list(dict.fromkeys(get_images_from_soup(scrape.soup, url)))
response['duplicate'] = Recipe.objects.filter(source_url=url).values_list('id', flat=True).all()
response['duplicates'] = Recipe.objects.filter(space=request.space, source_url=url).values('id', 'name').all()
return Response(RecipeFromSourceResponseSerializer(context={'request': request}).to_representation(response), status=status.HTTP_200_OK)
else: