Skip to content

Commit 74da49f

Browse files
committed
feat: add basic functionality, fix issues in api wrapper
1 parent deb5159 commit 74da49f

2 files changed

Lines changed: 96 additions & 5 deletions

File tree

main.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ def getPage(self):
2424

2525
@property
2626
def getPageGif(self):
27-
return f"https://teletext.hu/mtv1/{self.soup.img['src']}"
27+
try:
28+
return f"https://teletext.hu/mtv1/{self.soup.img['src']}"
29+
except TypeError:
30+
return "https://teletext.hu/mtv1/images/100-01.gif"
2831

2932
@property
3033
def prevPage(self):

window.py

Lines changed: 92 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
class MainWindow(Gtk.ApplicationWindow):
1616
def __init__(self, *args, **kwargs):
1717
super().__init__(*args, **kwargs)
18-
self.set_default_size(600, 250)
19-
self.set_title("Lidl Plus on Desktop")
18+
self.set_default_size(800, 600)
19+
self.set_title("Teletext")
2020
self.titlebar = Gtk.HeaderBar()
2121
self.set_titlebar(self.titlebar)
2222

@@ -45,10 +45,98 @@ def __init__(self, *args, **kwargs):
4545
self.titlebar.pack_start(self.homebutton)
4646

4747
self.teletext = TeletextReader()
48+
self.home()
4849

4950
def home(self, *args, **kwargs):
50-
print(self.teletext.getPageGif)
51-
print(self.teletext.nextPage)
51+
self.teletext.getPage()
52+
self.cbox = Gtk.CenterBox()
53+
self.set_child(self.cbox)
54+
self.ccbox = Gtk.CenterBox()
55+
self.cbox.set_center_widget(self.ccbox)
56+
57+
img = Gio.File.new_for_uri(self.teletext.getPageGif)
58+
img2 = GdkPixbuf.Pixbuf.new_from_stream(img.read(cancellable=None))
59+
image = Gtk.Image().new_from_pixbuf(img2)
60+
image.set_pixel_size(520)
61+
self.ccbox.set_start_widget(image)
62+
63+
self.inputbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
64+
self.inputbox.set_valign(Gtk.Align.CENTER)
65+
self.ccbox.set_end_widget(self.inputbox)
66+
67+
text = Gtk.Label()
68+
text.set_markup('<span size="large">Page Number</span>')
69+
inputbuf = Gtk.EntryBuffer()
70+
inputbuf.set_text(self.teletext.pagenum, -1)
71+
72+
self.input = Gtk.Entry().new_with_buffer(inputbuf)
73+
self.input.connect('notify::text', self.pagenumEntry)
74+
self.input.set_max_length(3)
75+
self.input.set_input_purpose(Gtk.InputPurpose.DIGITS)
76+
self.input.props.xalign = 0.5
77+
self.inputbox.append(text)
78+
self.inputbox.append(self.input)
79+
self.cccbox = Gtk.CenterBox()
80+
self.buttonsbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
81+
self.inputbox.append(self.cccbox)
82+
self.cccbox.set_center_widget(self.buttonsbox)
83+
84+
backbutton = Gtk.Button().new_from_icon_name('go-previous-symbolic')
85+
backbutton.connect('clicked', self.prevPage)
86+
nextbutton = Gtk.Button().new_from_icon_name('go-next-symbolic')
87+
nextbutton.connect('clicked', self.nextPage)
88+
backsubbutton = Gtk.Button().new_from_icon_name('go-up-symbolic')
89+
backsubbutton.connect('clicked', self.prevsubPage)
90+
nextsubbutton = Gtk.Button().new_from_icon_name('go-down-symbolic')
91+
nextsubbutton.connect('clicked', self.nextsubPage)
92+
93+
self.buttonsbox.append(backbutton)
94+
self.buttonsbox.append(backsubbutton)
95+
self.buttonsbox.append(nextsubbutton)
96+
self.buttonsbox.append(nextbutton)
97+
98+
def pagenumEntry(self, *args, **kwargs):
99+
buf = self.input.get_buffer()
100+
text = buf.get_text()
101+
if len(text) == 3:
102+
self.teletext.pagenum = text
103+
self.home()
104+
105+
def nextPage(self, *args, **kwargs):
106+
nextpage = self.teletext.nextPage
107+
if nextpage == None:
108+
pass
109+
else:
110+
self.teletext.pagenum = nextpage[0]
111+
self.teletext.subpage = nextpage[1]
112+
self.home()
113+
114+
def prevPage(self, *args, **kwargs):
115+
prevpage = self.teletext.prevPage
116+
if prevpage == None:
117+
pass
118+
else:
119+
self.teletext.pagenum = prevpage[0]
120+
self.teletext.subpage = prevpage[1]
121+
self.home()
122+
def nextsubPage(self, *args, **kwargs):
123+
nextsubpage = self.teletext.nextSubpage
124+
if nextsubpage == None:
125+
pass
126+
else:
127+
self.teletext.pagenum = nextsubpage[0]
128+
self.teletext.subpage = nextsubpage[1]
129+
self.home()
130+
131+
def prevsubPage(self, *args, **kwargs):
132+
prevsubpage = self.teletext.prevSubpage
133+
if prevsubpage == None:
134+
pass
135+
else:
136+
self.teletext.pagenum = prevsubpage[0]
137+
self.teletext.subpage = prevsubpage[1]
138+
self.home()
139+
52140

53141
class MyApp(Adw.Application):
54142
def __init__(self, **kwargs):

0 commit comments

Comments
 (0)