diff --git a/mycaldav/models.py b/mycaldav/models.py index c644a3b..d7de68f 100644 --- a/mycaldav/models.py +++ b/mycaldav/models.py @@ -2,6 +2,7 @@ from datetime import datetime, timedelta, time from django.contrib.auth.models import User import datetime as Datetime import pickle +import pytz import os from dateutil.relativedelta import relativedelta @@ -347,6 +348,26 @@ class cls_caldav_client(): event.vobject_instance.vevent.summary.value = summary event.save() + def change_utc_to_zurich_all_events(self,calandar): + events = calandar.date_search(start=datetime(2023, 1, 1), end=datetime.now() + relativedelta(years=1), + expand=True) + + for event in events: + start = event.vobject_instance.vevent.dtstart.value + end = event.vobject_instance.vevent.dtend.value + + if start.hour < 12: + new_start = datetime(start.year, start.month, start.day,7,0,0, tzinfo = pytz.timezone("Europe/Zurich")) + new_end = datetime(start.year, start.month, start.day, 19, 0, 0, tzinfo=pytz.timezone("Europe/Zurich")) + elif start.hour > 12: + new_start = datetime(start.year, start.month, start.day,19,0,0, tzinfo = pytz.timezone("Europe/Zurich")) + new_end = datetime(start.year, start.month, end.day, 7, 0, 0, tzinfo=pytz.timezone("Europe/Zurich")) + + print(new_start) + event.vobject_instance.vevent.dtstart.value = new_start + event.vobject_instance.vevent.dtend.value = new_end + event.save() + class _caldav_item(): diff --git a/mycaldav/views.py b/mycaldav/views.py index 6b54b58..7763b20 100644 --- a/mycaldav/views.py +++ b/mycaldav/views.py @@ -80,6 +80,9 @@ def view_op_caldav(request): @xframe_options_exempt def view_team_caldav(request): + #Change timezone + #myclient = cls_caldav_client() + #myclient.change_utc_to_zurich_all_events(myclient.a_team) o_caldav = cls_caldav(url=caldav_cfg["team"]) o_caldav.get_caldav_data(periode=3) template = loader.get_template("team/team_view.html")