Add files via upload

This commit is contained in:
Ace
2018-08-27 00:21:30 +02:00
committed by GitHub
parent 2a7a4d12c3
commit c167e5631e
76 changed files with 736 additions and 0 deletions

117
Calendar/events.py Normal file
View File

@@ -0,0 +1,117 @@
import epd7in5b
from PIL import Image, ImageDraw, ImageFont, ImageOps
import calendar, pyowm
from ics import Calendar, Event
from datetime import datetime
from time import sleep
from urllib.request import urlopen
import arrow
epd = epd7in5b.EPD()
epd.init()
url ="https://calendar.yahoo.com/jmuj6o2qum5wwa7aboeb3qxss5hssod4rlmbev5g/c4a110ace0d020e426cea69a2a873a19/ycal.ics?id=131"
#Enter your ical url above
c = Calendar(urlopen(url).read().decode('iso-8859-1'))
e = Event()
open = Image.open
EPD_WIDTH = 640
EPD_HEIGHT = 384
fpath = '/usr/share/fonts/truetype/Assistant/Assistant-Bold.otf'
fontsmall = ImageFont.truetype(fpath, 20)
fontbig = ImageFont.truetype(fpath, 34)
path = './dev-only/'
background = open(path+'background.bmp')
template = open(path+'event.bmp')
positions = {
'A1': (517,11), 'A2': (462,11), 'A3': (407,11), 'A4': (352,11), 'A5': (297,11),
'A6': (242,11), 'A7': (187,11), 'A8': (132,11), 'A9': (77,11), 'A10': (22,11),
'B1': (515,71), 'B2': (460, 71), 'B3': (460, 71), 'B4': (460, 71), 'B5': (460, 71),
'B6': (460, 71), 'B7': (460, 71), 'B8': (460, 71), 'B9': (460, 71), 'B10': (460, 71),
'C1':(542,313), 'C2':(487,313), 'C3':(432,313), 'C4':(377,313), 'C5':(322,313),
'C6':(267,313), 'C7':(212,313), 'C8':(157,313), 'C9':(102,313), 'C10':(47,313)
}
def main():
for i in range(1):
time = datetime.now()
for i in range(1):
image = Image.new('L', (EPD_WIDTH, EPD_HEIGHT), 255)
draw = (ImageDraw.Draw(image)).bitmap
print('Today is:',time.strftime('%a %-d %b %y'))
print('The time is ', time.strftime('%H:%M'))
edaylist = []
for events in c.events:
if str(time.year) in str((events.begin).format('YYYY')):
if str(time.month) in str((events.begin).format('M')):
edaylist.append((events.begin).format('D'))
print('In this month, you have',len(edaylist),'Events')
print(edaylist)
enamelist = []
for events in c.events:
if str(time.year) in str((events.begin).format('YYYY')):
if str(time.month) in str((events.begin).format('M')):
if str(time.month) in str((events.begin).format('M')):
enamelist.append(str(events.name))
for items in edaylist:
#date
txt = (events.begin).format('D')
w,h = fontbig.getsize(txt)
space = Image.new('1', (50,50), color=255)
date = ImageDraw.Draw(space)
date.text((int((50-w)/2),int((50-h)/2)), txt, fill=0,font=fontbig)
rotate = space.rotate(270, expand=1)
image.paste(rotate, positions['A'+len])#(517,11))
#print(enamelist)
#for items in enamelist:
#draw(positions['A'+events
etimelist = []
for events in c.events:
if str(time.year) in str((events.begin).format('YYYY')):
if str(time.month) in str((events.begin).format('M')):
etimelist.append(events.begin.format('HH:mm'))
print(etimelist)
# name
txt = enamelist[0]
w,h = fontsmall.getsize(txt) #works!
space = Image.new('1', (234,50), color=255)
name = ImageDraw.Draw(space)
name.text((int((234-w)/2),int((50-h)/2)), txt, fill=0, font = fontsmall)
rotate = space.rotate(270, expand=1)
image.paste(rotate, (515,71))
# time
txt = etimelist[0]
w,h = fontsmall.getsize(txt)
space = Image.new('1', (60,25), color=255) #use L and 127 to show
date = ImageDraw.Draw(space)
date.text((int((60-w)/2),int((25-h)/2)), txt, fill=0 ,font=fontsmall)
rotate = space.rotate(270, expand=1)
image.paste(rotate, (542,313))
draw((0,0), background)
draw((515,0), template)
del edaylist[:]
del enamelist[:]
del etimelist[:]
epd.display_frame(epd.get_frame_buffer(image))
if __name__ == '__main__':
main()