From b508e7d3feab25b4177d2ea08def9f0d51875a69 Mon Sep 17 00:00:00 2001 From: Annika Backstrom Date: Sat, 31 Aug 2019 23:55:41 +0100 Subject: [PATCH] Intial version of toot-reader.py --- fonts/elec.ttf | Bin 0 -> 73060 bytes fonts/elec.txt | 2 + toot-reader.cfg.default | 3 ++ toot-reader.py | 113 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 118 insertions(+) create mode 100755 fonts/elec.ttf create mode 100644 fonts/elec.txt create mode 100644 toot-reader.cfg.default create mode 100644 toot-reader.py diff --git a/fonts/elec.ttf b/fonts/elec.ttf new file mode 100755 index 0000000000000000000000000000000000000000..16c1059dd4747afcf0f605cd0132f1b439c154ca GIT binary patch literal 73060 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 max_h else max_h + if w > self.inky.WIDTH: + lines[-1].pop() + lines.append([]) + lines[-1].append(word) + + lines = [" ".join(line) for line in lines] + for line in lines: + self.draw.text((0, self.y), line, self.inky.BLACK, self.font) + self.y += max_h + + def finish(self): + # I happen to want this upside-down + self.image = self.image.transpose(Image.ROTATE_180) + self.inky.set_image(self.image) + self.inky.show() + self.reset() + +def update(draw, last_id): + toot = mastodon.timeline(limit=1)[0] + toot_id = toot['id'] + + if itoot_id == last_id: + return toot_id + + toot = Toot(toot) + + draw.title(toot.title()) + draw.body(toot.content()) + draw.finish() + + return toot_id + +if __name__ == '__main__': + draw = InkyDraw() + last_id = 0 + while True: + last_id = update(draw, last_id) + time.sleep(30)