Skip to content

Commit

Permalink
Merge pull request #20 from aguinane/develop
Browse files Browse the repository at this point in the history
0.5.1
  • Loading branch information
aguinane committed May 13, 2020
2 parents 255a4f0 + 52b24fd commit e0ea798
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 19 deletions.
5 changes: 2 additions & 3 deletions .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,11 @@ jobs:
run: |
pip install pytest
pip install pytest-cov
pytest --cov=nemreader --cov-report=xml
pytest --cov=nemreader --cov-report=xml
- name: Coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: |
pip install coveralls
coverage run --source=nemreader setup.py test
coverage run --source=nemreader -m pytest tests/
coveralls
31 changes: 17 additions & 14 deletions nemreader/outputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,11 @@ def output_as_csv(file_name, output_dir="."):
return output_paths


def flatten_daily_rows(
nmi: str, nmi_transactions: Dict[str, list], nmi_readings: Dict[str, List[Reading]]
def flatten_and_group_rows(
nmi: str,
nmi_transactions: Dict[str, list],
nmi_readings: Dict[str, List[Reading]],
date_format: str = "%Y%m%d",
) -> List[list]:
""" Create flattened list of NMI reading data """

Expand All @@ -117,8 +120,8 @@ def flatten_daily_rows(
rows = []

for ch in channels:
daily_totals = {}
daily_qualities = {}
date_totals = {}
date_qualities = {}
uom = ""
sn = ""
for read in nmi_readings[ch]:
Expand All @@ -127,19 +130,19 @@ def flatten_daily_rows(
uom = read.uom # Only last value will be saved
sn = read.meter_serial_number
quality = read.quality_method
t_day = t_end.strftime("%Y%m%d")
t_group = t_end.strftime(date_format)
try:
daily_totals[t_day] += val
date_totals[t_group] += val
except KeyError:
daily_totals[t_day] = val
date_totals[t_group] = val

if t_day not in daily_qualities.keys():
daily_qualities[t_day] = set()
daily_qualities[t_day].add(quality)
if t_group not in date_qualities.keys():
date_qualities[t_group] = set()
date_qualities[t_group].add(quality)

for day in daily_totals.keys():
day_total = daily_totals[day]
qualities = list(daily_qualities[day])
for day in date_totals.keys():
day_total = date_totals[day]
qualities = list(date_qualities[day])
day_quality = "".join(qualities)
if len(day_quality) > 1:
day_quality = "V" # Multiple quality methods
Expand Down Expand Up @@ -178,7 +181,7 @@ def output_as_daily_csv(file_name, output_dir="."):
"quality_method",
]
for nmi in nmis:
rows = flatten_daily_rows(nmi, m.transactions[nmi], m.readings[nmi])
rows = flatten_and_group_rows(nmi, m.transactions[nmi], m.readings[nmi])
for row in rows:
all_rows.append(row)

Expand Down
2 changes: 1 addition & 1 deletion nemreader/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.5"
__version__ = "0.5.1"
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ max-complexity = 10
test=pytest

[tool:pytest]
addopts = -ra --failed-first --showlocals --durations=3 --cov=nemreader --cov-report=term --cov-report=html --cov-report=xml
addopts = -ra --failed-first --showlocals --durations=3

0 comments on commit e0ea798

Please sign in to comment.