This commit is contained in:
whaffman 2025-04-03 15:28:07 +02:00
parent 8f5d60af86
commit 12cbf9bb45
3 changed files with 6067 additions and 3 deletions

View File

@ -1,7 +1,7 @@
--- ---
intra: intra:
client: "u-s4t2ud-cfdf3df41c8c897a8fc4c2ad8c4585be301a9b9405cc2084b6973717fbfc8885" #UID client: "u-s4t2ud-cfdf3df41c8c897a8fc4c2ad8c4585be301a9b9405cc2084b6973717fbfc8885" #UID
secret: "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" #SECRET secret: "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" #SECRET
uri: "https://api.intra.42.fr/v2/oauth/token" uri: "https://api.intra.42.fr/v2/oauth/token"
endpoint: "https://api.intra.42.fr/v2" endpoint: "https://api.intra.42.fr/v2"
scopes: "" scopes: ""

20
main.py Normal file → Executable file
View File

@ -1,7 +1,7 @@
from intra import IntraAPIClient from intra import IntraAPIClient
import json import json
from icalendar import Calendar, Event, vCalAddress, vText from icalendar import Calendar, Event, vCalAddress, vText
from datetime import datetime from datetime import datetime, timedelta
cal = Calendar() cal = Calendar()
@ -9,13 +9,13 @@ cal.add('prodid', '-//Codam Events//Duinvoetje.nl//')
cal.add('version', '2.0') cal.add('version', '2.0')
ic = IntraAPIClient() ic = IntraAPIClient()
response = ic.get("users/187348/events_users") response = ic.get("users/187348/events_users")
for entry in response.json(): for entry in response.json():
ical_event = Event() ical_event = Event()
event = entry['event'] event = entry['event']
ical_event.add('uid', event['id']) ical_event.add('uid', event['id'])
ical_event.add('dtstamp', datetime.now())
ical_event.add('name', event['name']) ical_event.add('name', event['name'])
ical_event.add('description', event['description']) ical_event.add('description', event['description'])
ical_event.add('dtstart', datetime.fromisoformat(event['begin_at'].split('.')[0])) ical_event.add('dtstart', datetime.fromisoformat(event['begin_at'].split('.')[0]))
@ -23,4 +23,20 @@ for entry in response.json():
ical_event.add('location', event['location']) ical_event.add('location', event['location'])
cal.add_component(ical_event) cal.add_component(ical_event)
response2 = ic.get("users/187348/scale_teams")
for entry in response2.json():
ical_event = Event()
event = entry
ical_event.add('uid', event['id'])
ical_event.add('dtstamp', datetime.now())
ical_event.add('name', "Evaluation" )
ical_event.add('description', event['corrector']['login'] + " will evaluate " + event['correcteds'][0]['login'])
ical_event.add('dtstart', datetime.fromisoformat(event['begin_at'].split('.')[0]))
ical_event.add('dtend', datetime.fromisoformat(event['begin_at'].split('.')[0]) + timedelta(minutes=30))
ical_event.add('location', "Codam Campus")
cal.add_component(ical_event)
print(cal.to_ical().decode('UTF-8')) print(cal.to_ical().decode('UTF-8'))
# print("="*20)
# print(json.dumps(response2.json(), indent=2))
# print("="*20)

6048
test.json Normal file

File diff suppressed because it is too large Load Diff