early urwid support
This commit is contained in:
parent
014f1cd222
commit
611625679d
28
bink.py
28
bink.py
@ -1,6 +1,7 @@
|
||||
import json
|
||||
from glob import glob
|
||||
from time import time_ns
|
||||
import datetime
|
||||
import os
|
||||
from sys import argv
|
||||
|
||||
@ -45,3 +46,30 @@ if "dump" in argv:
|
||||
with open("/dev/stdout", "w") as f:
|
||||
json.dump(generate_feed(), f)
|
||||
exit()
|
||||
|
||||
import urwid
|
||||
|
||||
class App(object):
|
||||
def __init__(self):
|
||||
self.walker = urwid.SimpleFocusListWalker([
|
||||
self.post_to_widget(post) for post in generate_feed()
|
||||
])
|
||||
self.loop = urwid.MainLoop(
|
||||
urwid.ListBox(self.walker)
|
||||
)
|
||||
|
||||
def post_to_widget(self, post):
|
||||
time = post["time"] / 1_000_000_000
|
||||
stamp = datetime.datetime.fromtimestamp(time)
|
||||
return urwid.Pile([
|
||||
urwid.Text([f"~{post['user']}", " @ ", stamp.strftime("%H:%M (%A, %B %d, %Y)")]),
|
||||
urwid.Text(post["body"]),
|
||||
urwid.Divider()
|
||||
])
|
||||
|
||||
app = App()
|
||||
try:
|
||||
app.loop.run()
|
||||
except KeyboardInterrupt:
|
||||
app.loop.stop()
|
||||
exit()
|
Loading…
x
Reference in New Issue
Block a user