dev temporaire
This commit is contained in:
@@ -7,6 +7,7 @@ import ssl
|
|||||||
|
|
||||||
from icalendar import Calendar, Event
|
from icalendar import Calendar, Event
|
||||||
import recurring_ical_events
|
import recurring_ical_events
|
||||||
|
import caldav
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
class cls_caldav():
|
class cls_caldav():
|
||||||
@@ -53,6 +54,7 @@ class cls_caldav():
|
|||||||
for event in events:
|
for event in events:
|
||||||
item = _caldav_item()
|
item = _caldav_item()
|
||||||
item.name = event["SUMMARY"]
|
item.name = event["SUMMARY"]
|
||||||
|
item.uiid = event["UID"]
|
||||||
if "-" in item.name:
|
if "-" in item.name:
|
||||||
arr = item.name.split("-")
|
arr = item.name.split("-")
|
||||||
item.key = arr[0]
|
item.key = arr[0]
|
||||||
@@ -92,6 +94,37 @@ class cls_caldav():
|
|||||||
self.sort_array()
|
self.sort_array()
|
||||||
return self.data
|
return self.data
|
||||||
|
|
||||||
|
class cls_caldav_client():
|
||||||
|
caldav_url = "https://sync.infomaniak.com"
|
||||||
|
caldav_user = 'SC01066'
|
||||||
|
caldav_password = "mc144*1870CLERC"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.client = caldav.DAVClient(url=self.caldav_url, username=self.caldav_user, password=self.caldav_password)
|
||||||
|
self.data = self.client.principal()
|
||||||
|
|
||||||
|
self.m38 = self.data.calendar(name="M38")
|
||||||
|
self.m37 = self.data.calendar(name="M37")
|
||||||
|
self.clear_all_events_by_Date(self.m38)
|
||||||
|
self.add_event_in_calandar(self.m38)
|
||||||
|
self.add_event_in_calandar(self.m37)
|
||||||
|
|
||||||
|
|
||||||
|
def add_event_in_calandar(self, calandar):
|
||||||
|
my_event = calandar.save_event(
|
||||||
|
dtstart=datetime(2022, 6, 30, 12),
|
||||||
|
dtend=datetime(2022, 6, 30, 13),
|
||||||
|
summary="Do the needful",
|
||||||
|
)
|
||||||
|
def clear_all_events_by_Date(self, calandar):
|
||||||
|
events = calandar.date_search(start=datetime(2022, 6, 30), end=datetime(2022, 7, 1), expand=True)
|
||||||
|
for e in events:
|
||||||
|
e.delete()
|
||||||
|
print(events)
|
||||||
|
|
||||||
|
|
||||||
class _caldav_item():
|
class _caldav_item():
|
||||||
key = ""
|
key = ""
|
||||||
name = ""
|
name = ""
|
||||||
@@ -105,6 +138,7 @@ class _caldav_item():
|
|||||||
dtstamp = None
|
dtstamp = None
|
||||||
done = False
|
done = False
|
||||||
href = ""
|
href = ""
|
||||||
|
uiid = ""
|
||||||
|
|
||||||
def format_str_date(self):
|
def format_str_date(self):
|
||||||
self.str_start_date = datetime.strptime(self.dtstart,"%d.%m.%Y %H:%M").strftime("%d.%m")
|
self.str_start_date = datetime.strptime(self.dtstart,"%d.%m.%Y %H:%M").strftime("%d.%m")
|
||||||
|
@@ -52,24 +52,7 @@ def view_op_caldav(request):
|
|||||||
@xframe_options_exempt
|
@xframe_options_exempt
|
||||||
def view_dayly_caldav(request):
|
def view_dayly_caldav(request):
|
||||||
ret = ""
|
ret = ""
|
||||||
caldav_url = "https://sync.infomaniak.com"
|
myClient = cls_caldav_client()
|
||||||
caldav_user = 'SC01066'
|
|
||||||
caldav_password = "mc144*1870CLERC"
|
|
||||||
|
|
||||||
client = cal.DAVClient(url=caldav_url, username=caldav_user, password=caldav_password)
|
|
||||||
|
|
||||||
my_principal = client.principal()
|
|
||||||
calendars = my_principal.calendars()
|
|
||||||
if calendars:
|
|
||||||
## Some calendar servers will include all calendars you have
|
|
||||||
## access to in this list, and not only the calendars owned by
|
|
||||||
## this principal.
|
|
||||||
print("your principal has %i calendars:" % len(calendars))
|
|
||||||
ret += "your principal has %i calendars:" % len(calendars)
|
|
||||||
for c in calendars:
|
|
||||||
print(" Name: %-20s URL: %s" % (c.name, c.url))
|
|
||||||
ret += " Name: %-20s URL: %s" % (c.name, c.url) + "<br>\n"
|
|
||||||
else:
|
|
||||||
print("your principal has no calendars")
|
|
||||||
|
|
||||||
return HttpResponse(ret)
|
return HttpResponse(ret)
|
||||||
|
Reference in New Issue
Block a user