Changement des clés de séparation de [-] en [--] double tiret pour éviter de perdre des données comme (St-Maurice)

This commit is contained in:
Ambulance Clerc
2023-04-25 19:02:06 +02:00
parent 1184789a31
commit 66d830d2e2

View File

@@ -17,6 +17,8 @@ import caldav
from mycaldav.settings import *
Key_separator = "--"
# Create your models here.
class cls_caldav():
url = ""
@@ -44,6 +46,7 @@ class cls_caldav():
self.night.sort(key=lambda x: x.key, reverse=reverse)
def get_caldav_data(self,periode=1,calendar=None, date=None):
ctx = ssl.create_default_context()
ctx.check_hostname = False
@@ -81,8 +84,8 @@ class cls_caldav():
item = _caldav_item()
item.name = event["SUMMARY"]
item.uiid = event["UID"]
if "-" in item.name:
arr = item.name.split("--")
if Key_separator in item.name:
arr = item.name.split(Key_separator)
item.key = arr[0]
if "$" in item.key:
item.team_transfert = True
@@ -166,6 +169,10 @@ class cls_caldav_client():
self.a_team = self.data.calendar(cal_id=caldav_id["team"])
self.a_vhc = self.data.calendar(cal_id=caldav_id["vhc"])
self.a_op = self.data.calendar(cal_id=caldav_id["op"])
self.a_task_config = self.data.calendar(cal_id=caldav_id["task_config"])
self.a_road = self.data.calendar(cal_id=caldav_id["road"])
self.a_rh = self.data.calendar(cal_id=caldav_id["rh"])
self.a_manif = self.data.calendar(cal_id=caldav_id["manif"])
#self.get_events_by_date(self.a_team)
def get_event_by_uuid(self,calandar,uuid):
@@ -194,7 +201,7 @@ class cls_caldav_client():
array = pickle.load(file)
except:
array = {"year": 0, "month": 0}
print("Erreur lecture fichier débiteur")
print("Erreur lecture fichier config")
if array["month"] == datetime.now().month:
if array["year"] == datetime.now().year:
@@ -228,9 +235,9 @@ class cls_caldav_client():
def format_data_event(self,event):
summary = event.vobject_instance.vevent.summary.value
if "-" not in summary:
if "--" not in summary:
return False
key = summary.split("-")
key = summary.split("--")
if "&" not in key[1]:
return False
equipage = key[1].split("&")
@@ -322,6 +329,25 @@ class cls_caldav_client():
e.delete()
#print(events)
def reformat_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:
summary = event.vobject_instance.vevent.summary.value
print(f"test summary {summary}")
if "----" in summary:
summary = summary.replace("----", Key_separator)
print(f"reformat: [{summary}]")
event.vobject_instance.vevent.summary.value = summary
event.save()
elif "-" in summary:
summary = summary.replace("-",Key_separator)
print(f"reformat: [{summary}]")
event.vobject_instance.vevent.summary.value = summary
event.save()
class _caldav_item():
key = ""