Skip to content

Commit ac882b1

Browse files
committed
fix instance chooser when no public instance is available
1 parent 07d86ef commit ac882b1

File tree

5 files changed

+87
-3
lines changed

5 files changed

+87
-3
lines changed

addon.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
22
<addon id="plugin.video.invidious"
33
name="Invidious"
4-
version="3.2.6"
4+
version="3.2.7"
55
provider-name="lekma">
66

77
<requires>

lib/invidious/instance.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77

88
from requests import HTTPError
99

10+
from xbmcgui import ALPHANUM_HIDE_INPUT
11+
1012
from iapc import public
1113
from nuttig import (
12-
buildUrl, getSetting, maybeLocalize, selectDialog, setSetting
14+
buildUrl, getSetting, maybeLocalize, setSetting,
15+
inputDialog, okDialog, selectDialog
1316
)
1417

1518
from invidious.extract import (
@@ -60,12 +63,16 @@ def __setup__(self):
6063
if (uri := getSetting("instance.uri", str)):
6164
self.__scheme__, self.__netloc__, *unused = urlsplit(uri)
6265
self.__url__ = buildUrl(uri, getSetting("instance.path", str))
66+
self.__uri__ = urlunsplit(
67+
(self.__scheme__, self.__netloc__, "", "", "")
68+
)
6369
else:
64-
self.__scheme__ = self.__netloc__ = self.__url__ = None
70+
self.__scheme__ = self.__netloc__ = self.__url__ = self.__uri__ = None
6571
self.__proxy__ = getSetting("instance.proxy", bool)
6672
self.__locale__ = getSetting("regional.locale", str)
6773
self.__region__ = getSetting("regional.region", str)
6874
settings = (
75+
#("Uri", self.__uri__),
6976
("Url", self.__url__),
7077
(41130, self.__proxy__),
7178
(
@@ -118,6 +125,8 @@ def selectInstance(self):
118125
if index > -1:
119126
setSetting("instance.uri", keys[index], str)
120127
return True
128+
else:
129+
okDialog(maybeLocalize(90101))
121130
return False
122131

123132
# region -------------------------------------------------------------------
@@ -149,6 +158,22 @@ def selectLocale(self):
149158
def selectRegion(self):
150159
self.__select__(regions, "regional.region", 41222)
151160

161+
# tokens -------------------------------------------------------------------
162+
163+
#@public
164+
#def addApiToken(self):
165+
# self.logger.info(f"addApiToken()")
166+
# if (
167+
# (uri := inputDialog(heading=90007, defaultt=self.__uri__)) and
168+
# (email := inputDialog(heading=90008)) and
169+
# (password := inputDialog(heading=90009, option=ALPHANUM_HIDE_INPUT))
170+
# ):
171+
# self.__tokens__.registerToken(uri, email, password)
172+
173+
#@public
174+
#def removeApiTokens(self):
175+
# self.logger.info(f"removeApiTokens()")
176+
152177
# --------------------------------------------------------------------------
153178

154179
def __regional__(self, regional, kwargs):

lib/scripts.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,15 @@ def selectRegion():
4141
return Client().instance.selectRegion()
4242

4343

44+
# tokens -----------------------------------------------------------------------
45+
46+
#def addApiToken():
47+
# return Client().instance.addApiToken()
48+
49+
#def removeApiTokens():
50+
# return Client().instance.removeApiTokens()
51+
52+
4453
# feed -------------------------------------------------------------------------
4554

4655
def addChannelToFeed(channelId, channel):
@@ -77,6 +86,8 @@ def clearHistory():
7786
"selectInstance": selectInstance,
7887
"selectLocale": selectLocale,
7988
"selectRegion": selectRegion,
89+
#"addApiToken": addApiToken,
90+
#"removeApiTokens": removeApiTokens,
8091
"addChannelToFeed": addChannelToFeed,
8192
"removeChannelFromFeed": removeChannelFromFeed,
8293
"clearChannelsFromFeed": clearChannelsFromFeed,

resources/language/resource.language.en_gb/strings.po

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,22 @@ msgctxt "#49112"
260260
msgid "SponsorBlock service settings..."
261261
msgstr ""
262262

263+
msgctxt "#49200"
264+
msgid "Tokens"
265+
msgstr ""
266+
267+
msgctxt "#49210"
268+
msgid "Add api token"
269+
msgstr ""
270+
271+
msgctxt "#49211"
272+
msgid "You will need to login to retrieve an api token"
273+
msgstr ""
274+
275+
msgctxt "#49220"
276+
msgid "Remove api tokens"
277+
msgstr ""
278+
263279

264280
# Items infos
265281

@@ -350,3 +366,19 @@ msgstr ""
350366
msgctxt "#90006"
351367
msgid "==>"
352368
msgstr ""
369+
370+
msgctxt "#90007"
371+
msgid "Instance uri"
372+
msgstr ""
373+
374+
msgctxt "#90008"
375+
msgid "Username"
376+
msgstr ""
377+
378+
msgctxt "#90009"
379+
msgid "Password"
380+
msgstr ""
381+
382+
msgctxt "#90101"
383+
msgid "No public instance available"
384+
msgstr ""

resources/settings.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,22 @@
261261

262262
</group>
263263

264+
<!--<group id="tokens" label="49200">
265+
266+
<setting id="addApiToken" type="action" label="49210" help="49211">
267+
<level>0</level>
268+
<data>RunScript($ID,addApiToken)</data>
269+
<control type="button" format="action" />
270+
</setting>
271+
272+
<setting id="removeApiTokens" type="action" label="49220">
273+
<level>0</level>
274+
<data>RunScript($ID,removeApiTokens)</data>
275+
<control type="button" format="action" />
276+
</setting>
277+
278+
</group>-->
279+
264280
</category>
265281

266282
</section>

0 commit comments

Comments
 (0)