From a9c6dac6f43afd2ec249fd3f5f6807461cb9f930 Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Tue, 2 Feb 2021 12:08:41 +0100 Subject: [PATCH] Fix TMDB con selezione Numerazione --- core/tmdb.py | 5 +- core/videolibrarytools.py | 2 + platformcode/platformtools.py | 39 ++++++ .../resource.language.en_gb/strings.po | 3 + .../resource.language.it_it/strings.po | 4 + resources/skins/Default/720p/SelectGroup.xml | 119 ++++++++++++++++++ 6 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 resources/skins/Default/720p/SelectGroup.xml diff --git a/core/tmdb.py b/core/tmdb.py index e49bac10..f24659c7 100644 --- a/core/tmdb.py +++ b/core/tmdb.py @@ -547,8 +547,9 @@ def get_nfo(item, search_groups=False): if groups: Id = select_group(groups) if Id: - info_nfo = 'https://www.themoviedb.org/tv/{}/episode_group/{}'.format(item.infoLabels['tmdb_id'], Id) + info_nfo = 'https://www.themoviedb.org/tv/{}/episode_group/{}\n'.format(item.infoLabels['tmdb_id'], Id) return info_nfo + else: return if "season" in item.infoLabels and "episode" in item.infoLabels: info_nfo = "https://www.themoviedb.org/tv/%s/season/%s/episode/%s\n" % (item.infoLabels['tmdb_id'], item.contentSeason, item.contentEpisodeNumber) @@ -576,7 +577,7 @@ def select_group(groups): selections.append(name) ids.append(ID) if selections and ids: - selected = platformtools.dialog_select('Seleziona', selections) + selected = platformtools.dialog_select_group(config.get_localized_string(70831), selections) if selected > -1: return ids[selected] return '' diff --git a/core/videolibrarytools.py b/core/videolibrarytools.py index 1debc6df..40672900 100644 --- a/core/videolibrarytools.py +++ b/core/videolibrarytools.py @@ -500,6 +500,8 @@ def save_tvshow(item, episodelist, silent=False): # We create tvshow.nfo, if it does not exist, with the head_nfo, series info and watched episode marks logger.debug("Creating tvshow.nfo: " + tvshow_path) head_nfo = scraper.get_nfo(item, search_groups=True) + if not head_nfo: + return 0, 0, 0, path item.infoLabels['mediatype'] = "tvshow" item.infoLabels['title'] = item.contentSerieName item_tvshow = Item(title=item.contentSerieName, channel="videolibrary", action="get_seasons", diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 5576f56d..18559e2c 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -226,6 +226,45 @@ def dialog_info(item, scraper): dialog = TitleOrIDWindow('TitleOrIDWindow.xml', config.get_runtime_path()).Start(item, scraper) return dialog +def dialog_select_group(heading, _list, preselect=0): + class SelectGroup(xbmcgui.WindowXMLDialog): + def start(self, heading, _list, preselect): + self.selected = preselect + self.heading = heading + self.list = _list + self.doModal() + + return self.selected + + def onInit(self): + self.getControl(1).setText(self.heading) + itemlist = [] + for n, text in enumerate(self.list): + item = xbmcgui.ListItem(str(n)) + item.setProperty('title', text) + itemlist.append(item) + + self.getControl(2).addItems(itemlist) + self.setFocusId(2) + self.getControl(2).selectItem(self.selected) + + def onClick(self, control): + if control in [100]: + self.selected = -1 + self.close() + elif control in [2]: + self.selected = self.getControl(2).getSelectedPosition() + self.close() + + def onAction(self, action): + action = action.getId() + if action in [10, 92]: + self.selected = -1 + self.close() + + dialog = SelectGroup('SelectGroup.xml', config.get_runtime_path()).start(heading, _list, preselect) + return dialog + def itemlist_refresh(): # pos = Item().fromurl(xbmc.getInfoLabel('ListItem.FileNameAndPath')).itemlistPosition diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 5f46e6e7..9d8d6208 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -6123,6 +6123,9 @@ msgctxt "#70830" msgid "The series / episode number should only be changed if the series has relative numbering." msgstr "" +msgctxt "#70831" +msgid "This series has multiple types of numbering, choose the most suitable one " +msgstr "" # DNS start [ settings and declaration ] msgctxt "#707401" diff --git a/resources/language/resource.language.it_it/strings.po b/resources/language/resource.language.it_it/strings.po index ac6fa323..aa2e32cd 100644 --- a/resources/language/resource.language.it_it/strings.po +++ b/resources/language/resource.language.it_it/strings.po @@ -6124,6 +6124,10 @@ msgctxt "#70830" msgid "The series / episode number should only be changed if the series has relative numbering." msgstr "Il numero della serie / episodio deve essere modificato solo se la serie ha una numerazione relativa." +msgctxt "#70831" +msgid "This series has multiple types of numbering, choose the most suitable one " +msgstr "Questa serie ha più tipi di numerazione, scegli quello più adatto" + # DNS start [ settings and declaration ] msgctxt "#707401" msgid "Enable DNS check alert" diff --git a/resources/skins/Default/720p/SelectGroup.xml b/resources/skins/Default/720p/SelectGroup.xml new file mode 100644 index 00000000..38c90e2f --- /dev/null +++ b/resources/skins/Default/720p/SelectGroup.xml @@ -0,0 +1,119 @@ + + + false + + + + + + + + + + + Container + 200 + 60 + 860 + 600 + + Background + 100% + 100% + white.png + + + Heading + 0 + 0 + 60 + 100% + font13 + FFFFFFFF + center + center + + + + 30 + 70 + 595 + 530 + + List + 0 + 0 + 795 + 530 + 100 + 4 + vertical + 200 + 4 + + + Selected Item + 20 + 20 + 765 + 110 + font13 + FFFFFFFF + + center + center + + + + + 1 + 100% + 100% + white.png + + + Selected Item + 20 + 20 + 765 + 110 + font13 + FFFFFFFF + + True + center + center + + + + + Scrollbar + 595 + 60 + 5 + 100% + true + white.png + white.png + white.png + white.png + white.png + vertical + false + 2 + 3 + + + + Close Button + 30 + 10 + 40 + 40 + close.png + close.png + 2 + + + +