Started conversion to OOP.
Created class Radiation with functions time_conversion and radiation
This commit is contained in:
31
functions.py
Normal file
31
functions.py
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""Classes used by main program. Handles CSV and GPX processing."""
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
class Radiation:
|
||||
def __init__(self, timestamp, radiation, local_timezone, si_factor):
|
||||
self.timestamp = self._time_conversion(timestamp, local_timezone)
|
||||
self.radiation = self._radiation(radiation, si_factor)
|
||||
|
||||
def __repr__(self):
|
||||
return '%s %f µS/h' % (str(self.timestamp), self.radiation)
|
||||
|
||||
def _time_conversion(self, timestamp, local_timezone):
|
||||
csv_naive_time = datetime.fromisoformat(timestamp)
|
||||
# Set timezone
|
||||
csv_aware_time = csv_naive_time.astimezone(local_timezone)
|
||||
return csv_aware_time
|
||||
|
||||
def _radiation(self, radiation, si_factor):
|
||||
# Convert CP/M to µS/h using si_factor
|
||||
radiation = round(float(radiation) * si_factor, 2)
|
||||
return radiation
|
||||
|
||||
class Position:
|
||||
def __init__(self, timestamp, latitude, longitude):
|
||||
self.timestamp = timestamp
|
||||
self.latitude = latitude
|
||||
self.longitude = longitude
|
Reference in New Issue
Block a user