From e4752c6069e7810cd0d8adf45e4b0d4793585ac2 Mon Sep 17 00:00:00 2001 From: Chris Mackey Date: Fri, 21 Dec 2018 18:02:12 -0500 Subject: [PATCH] feat(DataType): added datatype to handle unit conversions, checks, etc. This commit is also fixing some issues with interger division. --- ladybug/analysisperiod.py | 1 + ladybug/color.py | 1 + ladybug/datacollection.py | 2 ++ ladybug/datatype.py | 1 + ladybug/datatypenew.py | 2 ++ ladybug/designday.py | 3 +++ ladybug/dt.py | 3 ++- ladybug/epw.py | 2 ++ ladybug/futil.py | 3 +++ ladybug/header.py | 2 ++ ladybug/legendparameters.py | 2 ++ ladybug/listoperations.py | 1 + ladybug/location.py | 1 + ladybug/psychrometrics.py | 1 + ladybug/rootfind.py | 1 + ladybug/skymodel.py | 2 ++ ladybug/stat.py | 3 +++ ladybug/sunpath.py | 2 ++ ladybug/wea.py | 1 + tests/datacollection_test.py | 2 +- 20 files changed, 34 insertions(+), 2 deletions(-) diff --git a/ladybug/analysisperiod.py b/ladybug/analysisperiod.py index 8b71715f..e425b3f6 100644 --- a/ladybug/analysisperiod.py +++ b/ladybug/analysisperiod.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """Ladybug analysis period class.""" from .dt import DateTime from datetime import datetime, timedelta diff --git a/ladybug/color.py b/ladybug/color.py index f6c6d08a..321e9133 100644 --- a/ladybug/color.py +++ b/ladybug/color.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """Ladybug color, colorsets and colorrange.""" diff --git a/ladybug/datacollection.py b/ladybug/datacollection.py index 5a262dc8..7a9a1e12 100644 --- a/ladybug/datacollection.py +++ b/ladybug/datacollection.py @@ -1,3 +1,5 @@ +# coding=utf-8 +from __future__ import division """Ladybug data collection.""" from .header import Header from .datatype import DataPoint diff --git a/ladybug/datatype.py b/ladybug/datatype.py index 0096829c..f9e2e92e 100644 --- a/ladybug/datatype.py +++ b/ladybug/datatype.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """Ladybug data types.""" # from abc import ABCMeta, abstractmethod import math diff --git a/ladybug/datatypenew.py b/ladybug/datatypenew.py index 5f66ac2f..2c121943 100644 --- a/ladybug/datatypenew.py +++ b/ladybug/datatypenew.py @@ -1,3 +1,5 @@ +# coding=utf-8 +from __future__ import division """Ladybug data types.""" from ladybug.datatype import DataPoint diff --git a/ladybug/designday.py b/ladybug/designday.py index b8ee428c..7356e746 100644 --- a/ladybug/designday.py +++ b/ladybug/designday.py @@ -1,3 +1,6 @@ +# coding=utf-8 +from __future__ import division + from .location import Location from .futil import write_to_file from .dt import DateTime diff --git a/ladybug/dt.py b/ladybug/dt.py index 72d949e7..74b7af65 100644 --- a/ladybug/dt.py +++ b/ladybug/dt.py @@ -1,5 +1,6 @@ -"""Ladybug datetime.""" # coding=utf-8 +from __future__ import division +"""Ladybug datetime.""" from datetime import datetime diff --git a/ladybug/epw.py b/ladybug/epw.py index 10459c42..d19c0d17 100644 --- a/ladybug/epw.py +++ b/ladybug/epw.py @@ -1,4 +1,6 @@ # coding=utf-8 +from __future__ import division + from .location import Location from .analysisperiod import AnalysisPeriod from .datatype import DataPoint diff --git a/ladybug/futil.py b/ladybug/futil.py index 79d31b5b..c6cea1f7 100644 --- a/ladybug/futil.py +++ b/ladybug/futil.py @@ -1,3 +1,6 @@ +# coding=utf-8 +from __future__ import division + """A collection of auxiliary funtions for working with files and directories.""" import os import shutil diff --git a/ladybug/header.py b/ladybug/header.py index df4cba93..a38a178c 100644 --- a/ladybug/header.py +++ b/ladybug/header.py @@ -1,4 +1,6 @@ # coding=utf-8 +from __future__ import division + """Ladybug Header""" from copy import deepcopy diff --git a/ladybug/legendparameters.py b/ladybug/legendparameters.py index a5a02834..dc953ab3 100644 --- a/ladybug/legendparameters.py +++ b/ladybug/legendparameters.py @@ -1,4 +1,6 @@ # coding=utf-8 +from __future__ import division + from color import ColorRange from listoperations import flatten, unflatten diff --git a/ladybug/listoperations.py b/ladybug/listoperations.py index 2a62f5e5..9d9c756e 100644 --- a/ladybug/listoperations.py +++ b/ladybug/listoperations.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """Useful functions for list operations.""" import collections diff --git a/ladybug/location.py b/ladybug/location.py index 41ce6631..086a5d59 100644 --- a/ladybug/location.py +++ b/ladybug/location.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """Ladybug location.""" import re diff --git a/ladybug/psychrometrics.py b/ladybug/psychrometrics.py index 1da6e906..3f143e10 100644 --- a/ladybug/psychrometrics.py +++ b/ladybug/psychrometrics.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """Functions for converting between various humidity metrics""" import math diff --git a/ladybug/rootfind.py b/ladybug/rootfind.py index 1357d806..ad28c619 100644 --- a/ladybug/rootfind.py +++ b/ladybug/rootfind.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """ A list of useful functions for rapid guess-and-test (or root-finding) situations. Using these functions will typically be much faster than a custom-built guess-and-check diff --git a/ladybug/skymodel.py b/ladybug/skymodel.py index 7294c56d..09cd4dc3 100644 --- a/ladybug/skymodel.py +++ b/ladybug/skymodel.py @@ -1,3 +1,5 @@ +# coding=utf-8 +from __future__ import division """Functions for computing radiation for different idealized skies""" import math diff --git a/ladybug/stat.py b/ladybug/stat.py index 8a582735..2c77a76c 100644 --- a/ladybug/stat.py +++ b/ladybug/stat.py @@ -1,3 +1,6 @@ +# coding=utf-8 +from __future__ import division + from .location import Location from .analysisperiod import AnalysisPeriod from .designday import DesignDay diff --git a/ladybug/sunpath.py b/ladybug/sunpath.py index 072b4f8e..3f1ed3bc 100644 --- a/ladybug/sunpath.py +++ b/ladybug/sunpath.py @@ -1,4 +1,6 @@ # coding=utf-8 +from __future__ import division + import math from collections import namedtuple from .location import Location diff --git a/ladybug/wea.py b/ladybug/wea.py index 3a2db712..a6e81c06 100644 --- a/ladybug/wea.py +++ b/ladybug/wea.py @@ -1,4 +1,5 @@ # coding=utf-8 +from __future__ import division """Wea weather file.""" from .epw import EPW from .stat import STAT diff --git a/tests/datacollection_test.py b/tests/datacollection_test.py index aa44b600..2413b9f1 100644 --- a/tests/datacollection_test.py +++ b/tests/datacollection_test.py @@ -58,7 +58,7 @@ def test_to_unit(self): assert dc1.values[0] == 20 assert dc3.values[0] == 293.15 assert dc2.values[0] == 20 - assert dc4.values[0] == 266.15 + assert dc4.values[0] == pytest.approx(266.483, rel=1e-1) def test_to_ip_si(self): """Test the conversion of DataCollection to IP and SI units."""