early urwid support
This commit is contained in:
parent
014f1cd222
commit
611625679d
28
bink.py
28
bink.py
@ -1,6 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
from glob import glob
|
from glob import glob
|
||||||
from time import time_ns
|
from time import time_ns
|
||||||
|
import datetime
|
||||||
import os
|
import os
|
||||||
from sys import argv
|
from sys import argv
|
||||||
|
|
||||||
@ -45,3 +46,30 @@ if "dump" in argv:
|
|||||||
with open("/dev/stdout", "w") as f:
|
with open("/dev/stdout", "w") as f:
|
||||||
json.dump(generate_feed(), f)
|
json.dump(generate_feed(), f)
|
||||||
exit()
|
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