Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync with master #530

Merged
merged 9 commits into from
Apr 21, 2020
9 changes: 6 additions & 3 deletions hardware/SensorPi/sense_pi.py
@@ -1,6 +1,9 @@
import os
from datetime import datetime
from hardware.Utils.utils import get_logger, get_sensor_keys
from hardware.Utils.utils import (
get_logger,
get_sensor_keys,
date_str_with_current_timezone,
)

# Conditional import for sense hat and emulator
try:
Expand Down Expand Up @@ -57,7 +60,7 @@ def factory(self, type):
data["values"] = {}
data["values"][key] = sensor_data[key]

data["date"] = str(datetime.now())
data["date"] = date_str_with_current_timezone()
return data

def get_all(self):
Expand Down
13 changes: 7 additions & 6 deletions hardware/SensorPi/sensehat_reader.py
@@ -1,6 +1,7 @@
from sense_hat import SenseHat
import json
from datetime import datetime
from hardware.Utils.utils import date_str_with_current_timezone


TEMPERATURE_ID = 6
PRESSURE_ID = 7
Expand All @@ -12,7 +13,7 @@
def temperature():
sense = SenseHat()
temperature = sense.get_temperature()
date = str(datetime.now())
date = date_str_with_current_timezone()
data = {}
data["sensor_id"] = TEMPERATURE_ID
data["values"] = {"temperature": temperature}
Expand All @@ -24,7 +25,7 @@ def temperature():
def pressure():
sense = SenseHat()
pressure = sense.get_pressure()
date = str(datetime.now())
date = date_str_with_current_timezone()
data = {}
data["sensor_id"] = PRESSURE_ID
data["values"] = {"pressure": pressure}
Expand All @@ -36,7 +37,7 @@ def pressure():
def humidity():
sense = SenseHat()
humidity = sense.get_humidity()
date = str(datetime.now())
date = date_str_with_current_timezone()
data = {}
data["sensor_id"] = HUMIDITY_ID
data["values"] = {"humidity": humidity}
Expand All @@ -48,7 +49,7 @@ def humidity():
def acceleration():
sense = SenseHat()
acceleration = sense.get_accelerometer_raw()
date = str(datetime.now())
date = date_str_with_current_timezone()
data = {}
data["sensor_id"] = ACCELERATION_ID
data["values"] = {
Expand All @@ -64,7 +65,7 @@ def acceleration():
def orientation():
sense = SenseHat()
orientation = sense.get_orientation()
date = str(datetime.now())
date = date_str_with_current_timezone()
data = {}
data["sensor_id"] = ORIENTATION_ID
data["values"] = {
Expand Down
6 changes: 6 additions & 0 deletions hardware/Utils/utils.py
@@ -1,5 +1,7 @@
import os
import json
from datetime import datetime, timezone

from .logger import Logger

SENSOR_KEYS = {
Expand All @@ -25,3 +27,7 @@ def get_logger(key, file_name=None):
file_name = key
logger = Logger(name=key, filename=os.environ[file_name])
return logger


def date_str_with_current_timezone():
return datetime.now(timezone.utc).astimezone().isoformat()
16 changes: 14 additions & 2 deletions hardware/tests/test_utils.py
Expand Up @@ -4,8 +4,14 @@
from testfixtures import TempDirectory
from logging import INFO
import os

from hardware.Utils.utils import get_logger, get_serial_stream
from datetime import datetime
import dateutil.parser

from hardware.Utils.utils import (
get_logger,
get_serial_stream,
date_str_with_current_timezone,
)
from hardware.Utils.logger import Logger


Expand Down Expand Up @@ -36,3 +42,9 @@ def test_serial_stream(self):
stream,
b'{"id": 5, "value": {"value_a_name": 15.0, "value_b_name": 26.5, "value_c_name": 13.3}}\n',
)

def test_date_str_with_current_timezone(self):
s = date_str_with_current_timezone()
date = dateutil.parser.isoparse(s)
self.assertTrue("T" in s)
self.assertAlmostEqual(date.timestamp(), datetime.now().timestamp(), places=1)