LittlePaimon/utils/generate.py

47 lines
1.3 KiB
Python
Raw Normal View History

2022-05-27 21:13:59 +08:00
import base64
from io import BytesIO
from .event import *
from .draw import *
def im2base64str(im):
io = BytesIO()
im.save(io, 'png')
base64_str = f"base64://{base64.b64encode(io.getvalue()).decode()}"
return base64_str
async def generate_day_schedule(server='cn'):
events = await get_events(server, 0, 15)
has_prediction = False
for event in events:
if event['start_days'] > 0:
has_prediction = True
if has_prediction:
im = create_image(len(events) + 2)
else:
im = create_image(len(events) + 1)
title = f'原神日历'
pcr_now = get_pcr_now(0)
draw_title(im, 0, title, pcr_now.strftime('%Y/%m/%d'), '正在进行')
if len(events) == 0:
draw_item(im, 1, 1, '无数据', 0, False)
i = 1
for event in events:
if event['start_days'] <= 0:
draw_item(im, i, event['type'], event['title'],
event['left_days'], event['forever'])
i += 1
if has_prediction:
draw_title(im, i, right='即将开始')
for event in events:
if event['start_days'] > 0:
i += 1
draw_item(im, i, event['type'], event['title'], -
event['start_days'], event['forever'])
return im