<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def recipe_details(recipe_id, lang="en"):
 """This resource returns a details about a single recipe. :param recipe_id: The recipe to query for. :param lang: The language to display the texts in. The response is an object with the following properties: recipe_id (number):
 The recipe id. type (string):
 The type of the produced item. output_item_id (string):
 The item id of the produced item. output_item_count (string):
 The amount of items produced. min_rating (string):
 The minimum rating of the recipe. time_to_craft_ms (string):
 The time it takes to craft the item. disciplines (list):
 A list of crafting disciplines that can use the recipe. flags (list):
 Additional recipe flags. Known flags: ``AutoLearned``: Set for recipes that don't have to be discovered. ``LearnedFromItem``: Set for recipes that need a recipe sheet. ingredients (list):
 A list of objects describing the ingredients for this recipe. Each object contains the following properties: item_id (string):
 The item id of the ingredient. count (string):
 The amount of ingredients required. """

    params = {"recipe_id": recipe_id, "lang": lang}
    cache_name = "recipe_details.%(recipe_id)s.%(lang)s.json" % params
    return get_cached("recipe_details.json", cache_name, params=params)