Test deployment 7 #239
412 tests run, 376 passed, 0 skipped, 36 failed.
Annotations
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/MDV_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7fb67711a9d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MDV_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb677119d90>
country = None, region = None, name = 'MDV_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb677a6fe90>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...310>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/MDV_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb67711a9d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MDV_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb677119d90>
country = None, region = None, name = 'MDV_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/KAZ_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7f885a595510>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'KAZ_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a8e2610>
country = None, region = None, name = 'KAZ_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f885af57310>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...a50>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/KAZ_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f885a595510>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'KAZ_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a8e2610>
country = None, region = None, name = 'KAZ_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/RUS_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7fb6779b4d10>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'RUS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb69bbfcd10>
country = None, region = None, name = 'RUS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb677fc5750>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...d10>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/RUS_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb6779b4d10>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'RUS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb69bbfcd10>
country = None, region = None, name = 'RUS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/UKR_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7f8859cee110>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'UKR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f8859cede90>
country = None, region = None, name = 'UKR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f885a208390>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...650>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/UKR_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f8859cee110>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'UKR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f8859cede90>
country = None, region = None, name = 'UKR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/THA_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7fb676c5a750>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'THA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb6783c07d0>
country = None, region = None, name = 'THA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb67745aa50>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...290>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/THA_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb676c5a750>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'THA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb6783c07d0>
country = None, region = None, name = 'THA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/AZE_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7fb676f72c90>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'AZE_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb676f73710>
country = None, region = None, name = 'AZE_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb677a91950>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...bd0>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/AZE_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb676f72c90>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'AZE_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb676f73710>
country = None, region = None, name = 'AZE_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/MYS_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7fb677ba7f10>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MYS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb677ba7650>
country = None, region = None, name = 'MYS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb677e75510>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...d10>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/MYS_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb677ba7f10>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MYS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb677ba7650>
country = None, region = None, name = 'MYS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/BLR_databook.xlsx]
Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
Target population is 0 for Cash transfers
Target population is 0 for Lipid-based nutrition supplements
Target population is 0 for Public provision of complementary foods
Target population is 0 for Small quantity lipid-based nutrition supplements
Raw output
self = <nutrition.data.Dataset at 0x7f885ac09ad0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'BLR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885af08510>
country = None, region = None, name = 'BLR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f8859d7de10>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...310>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/BLR_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f885ac09ad0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'BLR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885af08510>
country = None, region = None, name = 'BLR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Balanced energy-protein supplementation
E
E Target population is 0 for Cash transfers
E
E Target population is 0 for Lipid-based nutrition supplements
E
E Target population is 0 for Public provision of complementary foods
E
E Target population is 0 for Small quantity lipid-based nutrition supplements
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/BLR_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7f885ae21ad0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'BLR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885b0ec210>
country = None, region = None, name = 'BLR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f885a1ae0d0>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...310>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/BLR_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f885ae21ad0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'BLR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885b0ec210>
country = None, region = None, name = 'BLR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/MDV_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7f8859a5c150>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MDV_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885d0a1150>
country = None, region = None, name = 'MDV_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f8859a87390>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...390>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/MDV_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f8859a5c150>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MDV_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885d0a1150>
country = None, region = None, name = 'MDV_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/RUS_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7f885ac4fad0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'RUS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a88ecd0>
country = None, region = None, name = 'RUS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f885a92f790>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...0d0>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/RUS_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f885ac4fad0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'RUS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a88ecd0>
country = None, region = None, name = 'RUS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/BIH_databook.xlsx]
ZeroDivisionError: float division by zero
Raw output
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/BIH_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:184: in load_data
self.add_model(name, growth=growth) # add model associated with the dataset or datasets
../nutrition/utils.py:85: in wrapper
return f(*args, **kwargs)
../nutrition/project.py:372: in add_model
model = Model(dataset, t, growth=growth)
../nutrition/model.py:25: in __init__
self._set_progs(self.prog_info.base_progset())
../nutrition/model.py:71: in _set_progs
self.prog_info.set_init_covs(self.pops)
../nutrition/programs.py:661: in set_init_covs
prog.set_pop_sizes(pops)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.programs.Program at 0x7fb677bec6d0>
[<class 'nutrition.programs.Program'>, <class 'sciris.sc_printing.prett... 6, 7, 8, 9, 10,
11])
————————————————————————————————————————————————————————————————————————
pops = [<nutrition.populations.Children at 0x7fb676ac3e10>
[<class 'nutrition.populations.Children'>, <class 'nutrition.popul...90>
[<class 'nutrition.s [...]
————————————————————————————————————————————————————————————————————————
]
def set_pop_sizes(self, pops):
self._set_restrpop(pops)
self._set_unrestrpop(pops)
# this accounts for different fractions within age bands
> self.sat_unrestr = self.restr_popsize / self.unrestr_popsize
E ZeroDivisionError: float division by zero
../nutrition/programs.py:112: ZeroDivisionError
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[en/LiST countries/TON_databook.xlsx]
Exception: Error in program data: Target population is 0 for Oral rehydration salts
Target population is 0 for Zinc for treatment + ORS
Raw output
self = <nutrition.data.Dataset at 0x7fb6766a5010>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'TON_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb6766a7f90>
country = None, region = None, name = 'TON_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb67699b0d0>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...790>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Target population is 0 for Oral rehydration salts
E
E Target population is 0 for Zinc for treatment + ORS
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/en/LiST countries/TON_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb6766a5010>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'TON_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb6766a7f90>
country = None, region = None, name = 'TON_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Target population is 0 for Oral rehydration salts
E
E Target population is 0 for Zinc for treatment + ORS
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/KAZ_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7fb676d42c90>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'KAZ_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb676c32610>
country = None, region = None, name = 'KAZ_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb676c30450>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...490>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/KAZ_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb676d42c90>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'KAZ_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb676c32610>
country = None, region = None, name = 'KAZ_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/UKR_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7fb676b2a4d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'UKR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb6775c7a10>
country = None, region = None, name = 'UKR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb67706ee90>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...d10>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/UKR_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb676b2a4d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'UKR_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb6775c7a10>
country = None, region = None, name = 'UKR_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/THA_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7f8859c4b2d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'THA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885b8921d0>
country = None, region = None, name = 'THA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f885a238910>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...710>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/THA_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f8859c4b2d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'THA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885b8921d0>
country = None, region = None, name = 'THA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/LCA_databook.xlsx]
Exception: Error in program data: El costo es 0 o negativo para Tratamiento de la MAS
Raw output
self = <nutrition.data.Dataset at 0x7fb6773790d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'LCA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb677379890>
country = None, region = None, name = 'LCA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb677094a90>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...d10>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: El costo es 0 o negativo para Tratamiento de la MAS
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/LCA_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb6773790d0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'LCA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb677379890>
country = None, region = None, name = 'LCA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: El costo es 0 o negativo para Tratamiento de la MAS
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/AZE_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7f8859b7ffd0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'AZE_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885adfced0>
country = None, region = None, name = 'AZE_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f885a695350>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...cd0>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/AZE_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f8859b7ffd0>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'AZE_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885adfced0>
country = None, region = None, name = 'AZE_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/MYS_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
La población objetivo es 0 para Transferencias de efectivo
La población objetivo es 0 para Suplementos nutricionales a base de lípidos
La población objetivo es 0 para Suministro público de alimentos complementarios
La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
Raw output
self = <nutrition.data.Dataset at 0x7f8859c48650>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MYS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a0c8510>
country = None, region = None, name = 'MYS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f8859b94150>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...410>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/MYS_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f8859c48650>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'MYS_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a0c8510>
country = None, region = None, name = 'MYS_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Suplemento energético-proteico equilibrado
E
E La población objetivo es 0 para Transferencias de efectivo
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos
E
E La población objetivo es 0 para Suministro público de alimentos complementarios
E
E La población objetivo es 0 para Suplementos nutricionales a base de lípidos en pequeñas cantidades
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/TUR_databook.xlsx]
ZeroDivisionError: float division by zero
Raw output
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/TUR_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:184: in load_data
self.add_model(name, growth=growth) # add model associated with the dataset or datasets
../nutrition/utils.py:85: in wrapper
return f(*args, **kwargs)
../nutrition/project.py:372: in add_model
model = Model(dataset, t, growth=growth)
../nutrition/model.py:25: in __init__
self._set_progs(self.prog_info.base_progset())
../nutrition/model.py:71: in _set_progs
self.prog_info.set_init_covs(self.pops)
../nutrition/programs.py:661: in set_init_covs
prog.set_pop_sizes(pops)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.programs.Program at 0x7f885aeda190>
[<class 'nutrition.programs.Program'>, <class 'sciris.sc_printing.prett... years: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
————————————————————————————————————————————————————————————————————————
pops = [<nutrition.populations.Children at 0x7f885aec5110>
[<class 'nutrition.populations.Children'>, <class 'nutrition.popul...50>
[<class 'nutrition.s [...]
————————————————————————————————————————————————————————————————————————
]
def set_pop_sizes(self, pops):
self._set_restrpop(pops)
self._set_unrestrpop(pops)
# this accounts for different fractions within age bands
> self.sat_unrestr = self.restr_popsize / self.unrestr_popsize
E ZeroDivisionError: float division by zero
../nutrition/programs.py:112: ZeroDivisionError
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/JOR_databook.xlsx]
ZeroDivisionError: float division by zero
Raw output
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/JOR_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:184: in load_data
self.add_model(name, growth=growth) # add model associated with the dataset or datasets
../nutrition/utils.py:85: in wrapper
return f(*args, **kwargs)
../nutrition/project.py:372: in add_model
model = Model(dataset, t, growth=growth)
../nutrition/model.py:25: in __init__
self._set_progs(self.prog_info.base_progset())
../nutrition/model.py:71: in _set_progs
self.prog_info.set_init_covs(self.pops)
../nutrition/programs.py:661: in set_init_covs
prog.set_pop_sizes(pops)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.programs.Program at 0x7f8859b91150>
[<class 'nutrition.programs.Program'>, <class 'sciris.sc_printing.prett... years: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
————————————————————————————————————————————————————————————————————————
pops = [<nutrition.populations.Children at 0x7f885a8f5f50>
[<class 'nutrition.populations.Children'>, <class 'nutrition.popul...d0>
[<class 'nutrition.s [...]
————————————————————————————————————————————————————————————————————————
]
def set_pop_sizes(self, pops):
self._set_restrpop(pops)
self._set_unrestrpop(pops)
# this accounts for different fractions within age bands
> self.sat_unrestr = self.restr_popsize / self.unrestr_popsize
E ZeroDivisionError: float division by zero
../nutrition/programs.py:112: ZeroDivisionError
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[fr/LiST countries/LCA_databook.xlsx]
Exception: Error in program data: Le coût est égal à 0 ou négatif pour Traitement de la MAS
Raw output
self = <nutrition.data.Dataset at 0x7fb6766de890>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'LCA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb67797ec10>
country = None, region = None, name = 'LCA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7fb676f2c990>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...790>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: Le coût est égal à 0 ou négatif pour Traitement de la MAS
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/fr/LiST countries/LCA_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7fb6766de890>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'LCA_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7fb67797ec10>
country = None, region = None, name = 'LCA_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: Le coût est égal à 0 ou négatif pour Traitement de la MAS
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/BIH_databook.xlsx]
ZeroDivisionError: float division by zero
Raw output
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/BIH_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:184: in load_data
self.add_model(name, growth=growth) # add model associated with the dataset or datasets
../nutrition/utils.py:85: in wrapper
return f(*args, **kwargs)
../nutrition/project.py:372: in add_model
model = Model(dataset, t, growth=growth)
../nutrition/model.py:25: in __init__
self._set_progs(self.prog_info.base_progset())
../nutrition/model.py:71: in _set_progs
self.prog_info.set_init_covs(self.pops)
../nutrition/programs.py:661: in set_init_covs
prog.set_pop_sizes(pops)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.programs.Program at 0x7f885a55df50>
[<class 'nutrition.programs.Program'>, <class 'sciris.sc_printing.prett... years: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
————————————————————————————————————————————————————————————————————————
pops = [<nutrition.populations.Children at 0x7f8859b3d050>
[<class 'nutrition.populations.Children'>, <class 'nutrition.popul...10>
[<class 'nutrition.s [...]
————————————————————————————————————————————————————————————————————————
]
def set_pop_sizes(self, pops):
self._set_restrpop(pops)
self._set_unrestrpop(pops)
# this accounts for different fractions within age bands
> self.sat_unrestr = self.restr_popsize / self.unrestr_popsize
E ZeroDivisionError: float division by zero
../nutrition/programs.py:112: ZeroDivisionError
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[es/LiST countries/TON_databook.xlsx]
Exception: Error in program data: La población objetivo es 0 para Sales de rehidratación oral
La población objetivo es 0 para Zinc para el tratamiento + SRO
Raw output
self = <nutrition.data.Dataset at 0x7f885a5ff590>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'TON_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a5fee50>
country = None, region = None, name = 'TON_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f88596c5e10>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...390>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La población objetivo es 0 para Sales de rehidratación oral
E
E La población objetivo es 0 para Zinc para el tratamiento + SRO
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/es/LiST countries/TON_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f885a5ff590>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'TON_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a5fee50>
country = None, region = None, name = 'TON_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La población objetivo es 0 para Sales de rehidratación oral
E
E La población objetivo es 0 para Zinc para el tratamiento + SRO
../nutrition/data.py:1006: Exception
Check failure on line 14 in tests/test_tox_databooks.py
github-actions / JUnit Test Report
test_tox_databooks.test_databook[fr/LiST countries/KAZ_databook.xlsx]
Exception: Error in program data: La population cible est 0 pour Supplémentation équilibrée en énergie et en protéines
La population cible est 0 pour Transferts monétaires
La population cible est 0 pour Supplémentation en nutriments à base de lipides
La population cible est 0 pour Fourniture publique d'aliments complémentaires
La population cible est 0 pour Petite quantité de supplémentation en nutriments à base de lipides
Raw output
self = <nutrition.data.Dataset at 0x7f885a88c490>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'KAZ_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a88f150>
country = None, region = None, name = 'KAZ_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
> self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
../nutrition/data.py:1004:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/data.py:683: in __init__
self.validate()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.ProgramData at 0x7f88594f56d0>
[<class 'nutrition.data.ProgramData'>]
————————————————————————————————...310>
[<class 'nutritio [...]
————————————————————————————————————————————————————————————————————————
def validate(self):
""" Validate program data """
invalid = []
for progname in self.base_prog_set:
cov = self.base_cov[progname]
if cov < 0 or cov > 1:
errormsg = _("Baseline coverage is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
sat = self.sat[progname]
if sat < 0 or sat > 1:
errormsg = _("Saturation is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_inc = self.max_inc[progname]
if max_inc < 0 or max_inc > 1:
errormsg = _("Maximum increase is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
max_dec = self.max_dec[progname]
if max_dec < 0 or max_dec > 1:
errormsg = _("Maximum decrease is outside the interval (0, 100) for %s") % progname
invalid.append(errormsg)
cost = self.costs[progname]
if cost <= 0:
errormsg = _("Cost is 0 or negative for %s") % progname
invalid.append(errormsg)
if progname not in self.prog_target.keys():
errormsg = _("Target population not defined for %s") % progname
invalid.append(errormsg)
elif sum(self.prog_target[progname].values()) == 0:
errormsg = _("Target population is 0 for %s") % progname
invalid.append(errormsg)
if invalid:
errors = "\n\n".join(invalid)
> raise Exception(errors)
E Exception: La population cible est 0 pour Supplémentation équilibrée en énergie et en protéines
E
E La population cible est 0 pour Transferts monétaires
E
E La population cible est 0 pour Supplémentation en nutriments à base de lipides
E
E La population cible est 0 pour Fourniture publique d'aliments complémentaires
E
E La population cible est 0 pour Petite quantité de supplémentation en nutriments à base de lipides
../nutrition/data.py:727: Exception
The above exception was the direct cause of the following exception:
path = PosixPath('/home/runner/work/Nutrition/Nutrition/inputs/fr/LiST countries/KAZ_databook.xlsx')
@pytest.mark.parametrize('path', excel_files, ids=lambda x: str(x.relative_to(inputdir)))
def test_databook(path):
P = nu.Project("test")
> P.load_data(inputspath=path)
test_tox_databooks.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../nutrition/project.py:175: in load_data
dataset = Dataset(databook=databook, country=country, region=region, name=name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <nutrition.data.Dataset at 0x7f885a88c490>
[<class 'nutrition.data.Dataset'>]
————————————————————————————————————————... name: 'KAZ_databook'
region: None
————————————————————————————————————————————————————————————————————————
databook = <pandas.io.excel._base.ExcelFile object at 0x7f885a88f150>
country = None, region = None, name = 'KAZ_databook'
def __init__(self, databook: pandas.ExcelFile, country=None, region=None, name=None):
"""
:param databook: Databook that is being used in the model
:param country: The country of interest for data
:param region: The region of interest in the country (in geospatial optimization)
:param name:
"""
self.country = country
self.region = region
self.name = name
self.calcscache = CalcCellCache()
# Read them into actual data
try:
self.demographic_data = DemographicData(databook, self.calcscache)
except Exception as E:
raise Exception("Error in databook: %s" % str(E)) from E
try:
self.prog_data = ProgramData(databook, self.demographic_data, self.calcscache)
except Exception as E:
> raise Exception("Error in program data: %s" % str(E)) from E
E Exception: Error in program data: La population cible est 0 pour Supplémentation équilibrée en énergie et en protéines
E
E La population cible est 0 pour Transferts monétaires
E
E La population cible est 0 pour Supplémentation en nutriments à base de lipides
E
E La population cible est 0 pour Fourniture publique d'aliments complémentaires
E
E La population cible est 0 pour Petite quantité de supplémentation en nutriments à base de lipides
../nutrition/data.py:1006: Exception