Ajout de la fonction de changement de timezone

This commit is contained in:
Ambulance Clerc
2023-04-26 10:03:36 +02:00
parent f285b8a446
commit dd81ea367d
2 changed files with 24 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ from datetime import datetime, timedelta, time
from django.contrib.auth.models import User from django.contrib.auth.models import User
import datetime as Datetime import datetime as Datetime
import pickle import pickle
import pytz
import os import os
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
@@ -347,6 +348,26 @@ class cls_caldav_client():
event.vobject_instance.vevent.summary.value = summary event.vobject_instance.vevent.summary.value = summary
event.save() 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(): class _caldav_item():

View File

@@ -80,6 +80,9 @@ def view_op_caldav(request):
@xframe_options_exempt @xframe_options_exempt
def view_team_caldav(request): 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 = cls_caldav(url=caldav_cfg["team"])
o_caldav.get_caldav_data(periode=3) o_caldav.get_caldav_data(periode=3)
template = loader.get_template("team/team_view.html") template = loader.get_template("team/team_view.html")