aboutsummaryrefslogtreecommitdiffhomepage
path: root/epaper/main.py
blob: f540d2337e9d50c901e5f5e5b8abae2f6ac48ba7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/python
# -*- coding:utf-8 -*-

import epd2in13
import json
import time
import requests
from datetime import date
from datetime import datetime
from PIL import Image,ImageDraw,ImageFont

font_size = 12

epd = epd2in13.EPD()
epd.init(epd.FULL_UPDATE)
epd.Clear(0xFF)

image = Image.new('1', (epd2in13.EPD_HEIGHT, epd2in13.EPD_WIDTH), 255)  # 255: clear the frame
draw = ImageDraw.Draw(image)
font = ImageFont.truetype('/usr/share/fonts/truetype/wqy/wqy-microhei.ttc', font_size)

resp = json.load(open("everything.schedule.json"))
days = resp['schedule']['conference']['days']
conferences = []
for day in days:
    for room in day['rooms']:
        for conference in day['rooms'][room]:
            conf_date = datetime.strptime(conference['date'].split('+')[0], '%Y-%m-%dT%H:%M:%S')
            offset = conf_date - datetime.now()
            if offset.seconds / 3600 < 3 and offset.seconds/3600 > 0 and offset.days==0:
                conferences.append(conference)

sorted_list = sorted(conferences, key=lambda i: i['date'])

for i in range(0, 9, 2):
    draw.text((0, font_size * i + 2), sorted_list[i]['start'] + ' - ' + sorted_list[i]['room'] + ':', font=font, fill=0)
    draw.text((50, font_size * (i + 1) + 2), sorted_list[i]['title'], font=font, fill=0)
epd.display(epd.getbuffer(image))

# time.sleep(10)
# epd.Clear(0xFF)
# epd.sleep()