Skip to content

Instantly share code, notes, and snippets.

@fthiery
Created July 4, 2022 14:59
Show Gist options
  • Save fthiery/35f83874188a905f68dbede289ee992c to your computer and use it in GitHub Desktop.
Save fthiery/35f83874188a905f68dbede289ee992c to your computer and use it in GitHub Desktop.
Pretalx to Miris Manager
#!/usr/bin/env python3
import os
import requests
import json
from datetime import datetime, timedelta
url = 'https://cfp.pass-the-salt.org/pts2022/schedule/export/schedule.json'
d = requests.get(url).json()
for day in d['schedule']['conference']['days']:
for conf in day['rooms']['Amphitheater']:
start = datetime.fromisoformat(conf['date']) # 2022-07-06T15:15:00+02:00 --> YYYY-MM-DD HH:MM:SS
start_date = start.strftime('%Y-%m-%d %H:%M:%S')
duration = conf['duration'] # 00:20
d = datetime.strptime(duration, "%H:%M")
end = start + timedelta(hours=d.hour, minutes=d.minute)
end_date = end.strftime('%Y-%m-%d %H:%M:%S')
parameters = {
'title': conf['title'],
'speaker': conf['persons'][0]['public_name'],
'description': conf['abstract'],
}
headers = {
'api-key': os.environ['PANEL_API_KEY'],
'system': 'ubi-box-54b2038395c2',
}
data = {
'start_date': start_date,
'end_date': end_date,
'time_zone': 'Europe/Paris',
'command': 'record',
'parameters': json.dumps(parameters),
}
print(headers, data)
p = requests.post('https://mirismanager.ubicast.eu/api/v3/fleet/calendars/add-event/', headers=headers, data=data)
print(p.content)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment