1
0
Fork 0
mirror of https://github.com/shouptech/synthale.git synced 2026-02-03 15:39:45 +00:00

Add zero length mash & misc ingredients.

This commit is contained in:
Emma 2018-12-31 11:30:22 -07:00
parent 39318f8ed1
commit e72eeb100c
3 changed files with 42 additions and 25 deletions

View file

@ -63,7 +63,7 @@ class MarkdownRecipe:
@property @property
def markdown(self): def markdown(self):
"""Return generated markdown for the recipe.""" """Return generated markdown for the recipe."""
return '\n'.join(( md = '\n'.join((
self.name, self.name,
'', '',
self.style, self.style,
@ -76,12 +76,16 @@ class MarkdownRecipe:
'', '',
self.yeast, self.yeast,
'', '',
self.miscs,
'',
self.mash,
'',
)) ))
if len(self.miscs) > 0:
md += '\n'.join(('', self.miscs, '',))
if len(self.mash) > 0:
md += '\n'.join(('', self.mash, '',))
return md
@property @property
def name(self): def name(self):
"""Return markdown for the recipe's name.""" """Return markdown for the recipe's name."""
@ -211,6 +215,9 @@ class MarkdownRecipe:
@property @property
def miscs(self): def miscs(self):
"""Return the markdown to represent the recipe's other ingredients.""" """Return the markdown to represent the recipe's other ingredients."""
if len(self.recipe.miscs) == 0:
return ''
headers = ('Name', 'Use', 'Amount') headers = ('Name', 'Use', 'Amount')
rows = [] rows = []
for misc in self.recipe.miscs: for misc in self.recipe.miscs:
@ -235,6 +242,9 @@ class MarkdownRecipe:
@property @property
def mash(self): def mash(self):
"""Return the markdown to represent the recipe's mash steps.""" """Return the markdown to represent the recipe's mash steps."""
if self.recipe.mash is None:
return ''
headers = ('Name', 'Type', 'Temperature', 'Time', 'Amount') headers = ('Name', 'Type', 'Temperature', 'Time', 'Amount')
rows = [] rows = []
for step in self.recipe.mash.steps: for step in self.recipe.mash.steps:

View file

@ -87,21 +87,6 @@
</YEAST> </YEAST>
</YEASTS> </YEASTS>
<MISCS/> <MISCS/>
<MASH>
<NAME>Single Step Infusion, 148 F</NAME>
<VERSION>1</VERSION>
<GRAIN_TEMP>22.0</GRAIN_TEMP>
<MASH_STEPS>
<MASH_STEP>
<NAME>Infusion</NAME>
<VERSION>1</VERSION>
<TYPE>Infusion</TYPE>
<STEP_TEMP>64.4444</STEP_TEMP>
<STEP_TIME>60.0</STEP_TIME>
<INFUSE_AMOUNT>17.0344</INFUSE_AMOUNT>
</MASH_STEP>
</MASH_STEPS>
</MASH>
<TYPE>All Grain</TYPE> <TYPE>All Grain</TYPE>
<BREWER>Mike Shoup</BREWER> <BREWER>Mike Shoup</BREWER>
<BATCH_SIZE>20.81976479</BATCH_SIZE> <BATCH_SIZE>20.81976479</BATCH_SIZE>

View file

@ -140,7 +140,7 @@ def test_recipe_yeast(md_weizen):
) )
def test_recipe_miscs(md_coffee_stout): def test_recipe_miscs(md_coffee_stout, md_weizen):
"""Test valid miscellaneous ingredient table is generated.""" """Test valid miscellaneous ingredient table is generated."""
assert md_coffee_stout.miscs == ( assert md_coffee_stout.miscs == (
'Other Ingredients\n' 'Other Ingredients\n'
@ -168,17 +168,39 @@ def test_recipe_miscs(md_coffee_stout):
'| Coffee (Brewed) | Keg | 0.71 kg |' '| Coffee (Brewed) | Keg | 0.71 kg |'
) )
assert md_weizen.miscs == ''
def test_recipe_mash(md_coffee_stout):
def test_recipe_mash(md_coffee_stout, md_weizen):
"""Test valid recipe mash table.""" """Test valid recipe mash table."""
assert md_coffee_stout.mash == ( assert md_coffee_stout.mash == (
'Mash\n' 'Mash\n'
'----\n' '----\n'
'| Name | Type | Temperature | Time | Amount |\n' '| Name | Type | Temperature | Time | Amount |\n'
'| -------- | -------- | ----------- | ------ | -------- |\n' '| -------- | -------- | ----------- | ------ | ------- |\n'
'| Infusion | Infusion | 152.0 °F | 60 min | 37.55 lb |' '| Infusion | Infusion | 152.0 °F | 60 min | 4.5 gal |'
) )
md_coffee_stout.temp_unit = 'celsius'
assert md_coffee_stout.mash == (
'Mash\n'
'----\n'
'| Name | Type | Temperature | Time | Amount |\n'
'| -------- | -------- | ----------- | ------ | ------- |\n'
'| Infusion | Infusion | 66.7 °C | 60 min | 4.5 gal |'
)
md_coffee_stout.vol_unit = 'liters'
assert md_coffee_stout.mash == (
'Mash\n'
'----\n'
'| Name | Type | Temperature | Time | Amount |\n'
'| -------- | -------- | ----------- | ------ | ------ |\n'
'| Infusion | Infusion | 66.7 °C | 60 min | 17.0 L |'
)
assert md_weizen.mash == ''
def test_write_recipes(md_recipes, tmpdir): def test_write_recipes(md_recipes, tmpdir):
"""Test write_recipes function.""" """Test write_recipes function."""