from seeparklib.openweathermap import openweathermap_json, OpenWeatherMapError
+# https://stackoverflow.com/a/37350445
+def sqlalchemy_model_to_dict(model):
+ return {c.key: getattr(model, c.key)
+ for c in inspect(model).mapper.column_attrs}
+
+
class JSONEncoder(flask.json.JSONEncoder):
def default(self, object):
if isinstance(object, datetime.datetime):
return object.isoformat()
+ elif isinstance(object, db.Model):
+ return sqlalchemy_model_to_dict(object)
return super().default(object)
class Sensors(db.Model):
__tablename__ = 'sensors'
- # https://stackoverflow.com/a/37350445
- def to_dict(self):
- return {c.key: getattr(self, c.key)
- for c in inspect(self).mapper.column_attrs}
def select_sensordata(initial_where):
query = Sensors.query.filter(initial_where)
c3result[row.sensor_id + '_x'].append(dt)
return c3result
else:
- return [row.to_dict() for row in result]
+ return result
def currentairtemperature(apikey, cityid):