Created and implemented a DebugInterface and defined it for console use

This commit is contained in:
Maximilian Giller 2019-02-26 16:23:58 +01:00
parent 82c28841a7
commit 615e338e9a
2 changed files with 55 additions and 0 deletions

45
Calendar/DebugConsole.py Normal file
View file

@ -0,0 +1,45 @@
from DebugInterface import DebugInterface
from icon_positions_locations import weathericons
class DebugConsole (DebugInterface):
"""Defines concrete console export of debug objects"""
def print_event (self, event):
print("\nCalendarEvent:")
print("---------------------")
print('Begin datetime: ' + str(event.begin_datetime))
print('End datetime: ' + str(event.end_datetime))
print('Title: ' + str(event.title))
print('Description: ' + str(event.description))
print('Attendees: ' + str(event.attendees))
print('Highlight: ' + str(event.highlight))
print('Calendar name: ' + str(event.calendar_name))
print('Location: ' + str(event.location))
print('Fetch datetime: ' + str(event.fetch_datetime))
def print_forecast (self, forecast):
print("\nWeatherForecast:")
print("---------------------")
print('Air temperature: ' + str(forecast.air_temperature))
print('Air humidity: ' + str(forecast.air_humidity))
print('Air pressure: ' + str(forecast.air_pressure))
print('Rain probability: ' + str(forecast.rain_probability))
print('Rain amount: ' + str(forecast.rain_amount))
print('Snow amount: ' + str(forecast.snow_amount))
print('Sunrise-time: ' + str(forecast.sunrise))
print('Sunset time: ' + str(forecast.sunset))
print('Moon phase: ' + str(forecast.moon_phase))
print('Wind speed: ' + str(forecast.wind_speed))
print('Cloudiness: ' + str(forecast.clouds))
print('Icon code: ' + str(forecast.icon))
print('weather-icon name: ' + str(weathericons[forecast.icon]))
print('Short description: ' + str(forecast.short_description))
print('Detailed description: ' + str(forecast.detailed_description))
print('Units: ' + str(forecast.units))
print('Datetime: ' + str(forecast.datetime))
print('Location: ' + str(forecast.location))
print('Fetch datetime: ' + str(forecast.fetch_datetime))
def print (self, content):
if content is None:
return
print(str(content))

View file

@ -0,0 +1,10 @@
class DebugInterface (object):
"""Defines general interface for debugging operations"""
def print_event (self, event):
raise NotImplementedError("Functions needs to be implemented")
def print_forecast (self, forecast):
raise NotImplementedError("Functions needs to be implemented")
def print (self, content):
raise NotImplementedError("Functions needs to be implemented")