Source code for mimesis.providers.food

# -*- coding: utf-8 -*-

"""Provides data related to food."""
from typing import Any, List

from mimesis.providers.base import BaseDataProvider

__all__ = ["Food"]


[docs]class Food(BaseDataProvider): """Class for generating data related to food."""
[docs] def __init__(self, *args: Any, **kwargs: Any) -> None: """Initialize attributes. :param locale: Current locale. """ super().__init__(*args, **kwargs) self._datafile = "food.json" self._pull(self._datafile)
[docs] class Meta: """Class for metadata.""" name = "food"
def _choice_from(self, key: str) -> str: """Choice random element.""" data: List[str] = self.extract([key]) return self.random.choice(data)
[docs] def vegetable(self) -> str: """Get a random vegetable. :return: Vegetable name. :Example: Tomato. """ return self._choice_from("vegetables")
[docs] def fruit(self) -> str: """Get a random fruit or berry. :return: Fruit name. :Example: Banana. """ return self._choice_from("fruits")
[docs] def dish(self) -> str: """Get a random dish. :return: Dish name. :Example: Ratatouille. """ return self._choice_from("dishes")
[docs] def spices(self) -> str: """Get a random spices or herbs. :return: Spices or herbs. :Example: Anise. """ return self._choice_from("spices")
[docs] def drink(self) -> str: """Get a random drink. :return: Alcoholic drink. :Example: Vodka. """ return self._choice_from("drinks")