diff --git a/ems_client/models.py b/ems_client/models.py index cec4b4e..a61668a 100644 --- a/ems_client/models.py +++ b/ems_client/models.py @@ -37,6 +37,8 @@ class Building(models.Model): description = models.CharField(max_length=50) building_code = models.CharField(max_length=20, null=True) id = models.PositiveIntegerField(primary_key=True) + time_zone_description = models.CharField(max_length=255) + time_zone_abbreviation = models.CharField(max_length=10) def __str__(self): return self.description @@ -67,6 +69,7 @@ class Booking(models.Model): building = models.ForeignKey(Building, on_delete=models.PROTECT) time_booking_start = models.DateTimeField() time_booking_end = models.DateTimeField() + time_zone = models.CharField(max_length=10) building_code = models.CharField(max_length=20) dv_building = models.CharField(max_length=50) room_code = models.CharField(max_length=20) diff --git a/ems_client/service.py b/ems_client/service.py index dbd0566..ae8cab1 100644 --- a/ems_client/service.py +++ b/ems_client/service.py @@ -2,9 +2,11 @@ This module exposes EMS Service methods """ from dateutil import parser +from lxml import etree +from pytz import timezone + from ems_client import EMSAPI, EMSAPIException from ems_client.models import * -from lxml import etree class Service(EMSAPI): @@ -90,6 +92,8 @@ def get_buildings(self): building.description = item['Description'] building.building_code = item['BuildingCode'] building.id = int(item['ID']) + building.time_zone_description = item['TimeZoneDescription'] + building.time_zone_abbreviation = item['TimeZoneAbbreviation'] buildings.append(building) return buildings @@ -142,6 +146,7 @@ def get_booking(self, booking_id): if item.get('TimeBookingStart') else None booking.time_booking_end = parser.parse(item['TimeBookingEnd']) \ if item.get('TimeBookingEnd') else None + booking.time_zone = item['TimeZone'] booking.building_code = item['BuildingCode'] booking.dv_building = item['Building'] booking.room_code = item['RoomCode'] @@ -184,6 +189,7 @@ def get_bookings(self, start_date, end_date, if item.get('TimeBookingStart') else None booking.time_booking_end = parser.parse(item['TimeBookingEnd']) \ if item.get('TimeBookingEnd') else None + booking.time_zone = item['TimeZone'] booking.building_code = item['BuildingCode'] booking.dv_building = item['Building'] booking.room_code = item['RoomCode']