Пример #1
0
    def _post_process(self, item, prepend_date=False, mixed_list=False):
        if not item:
            return

        name = g.decode_py2(item.get("info", {}).get("title"))

        if not name:
            g.log("Item has no title: {}".format(item), "error")

        if (not item["info"]["mediatype"] == "list" and not self.hide_unaired
                and not self.is_aired(item["info"])):
            name = g.color_string(tools.italic_string(name), "red")

        if item["info"]["mediatype"] == "episode":
            if self.title_appends_mixed and mixed_list:
                name = self._handle_episode_title_appending(
                    name, item, self.title_appends_mixed)
            elif self.title_appends_general and not mixed_list:
                name = self._handle_episode_title_appending(
                    name, item, self.title_appends_general)

        if item["info"][
                "mediatype"] == "list" and self.list_title_appends == "1":
            name += " - {}".format(
                g.color_string(g.encode_py2(item["info"]["username"])))

        if not item["info"]["mediatype"] == "list" and prepend_date:
            release_day = tools.parse_datetime(item["info"]["aired"][:10])
            if release_day:
                release_day = release_day.strftime("%d %b")
                name = "[{}] {}".format(release_day, g.encode_py2(name))
        item.update({"name": name})
        item["info"]["title"] = name

        return item
Пример #2
0
def italic_string(text):
    """
    Ease of use method to return a italic like ready string for display in Kodi
    :param text: Text to display in italics
    :type text: str
    :return: Formatted string
    :rtype: str
    """
    from resources.lib.modules.globals import g

    return "[I]{}[/I]".format(g.decode_py2(text))
Пример #3
0
    def shows_search(self, query=None):
        if not query:
            k = xbmc.Keyboard("", g.get_language_string(30013))
            k.doModal()
            query = k.getText() if k.isConfirmed() else None
            del k
            if not query:
                g.cancel_directory()
                return

        query = g.decode_py2(query)
        if g.get_bool_setting("searchHistory"):
            SearchHistory().add_search_history("tvshow", query)
        query = g.deaccent_string(g.display_string(query))
        self.shows_search_results(query)
Пример #4
0
    def deploy_init():
        folders = ["providerModules/", "providers/"]
        root_init_path = os.path.join(g.ADDON_USERDATA_PATH, "__init__ .py")

        if not xbmcvfs.exists(g.ADDON_USERDATA_PATH):
            tools.makedirs(g.ADDON_USERDATA_PATH, exist_ok=True)
        if not xbmcvfs.exists(root_init_path):
            xbmcvfs.File(root_init_path, "a").close()
        for i in folders:
            folder_path = os.path.join(g.ADDON_USERDATA_PATH, i)
            tools.makedirs(folder_path, exist_ok=True)
            xbmcvfs.File(os.path.join(folder_path, "__init__.py"), "a").close()
        provider_init = xbmcvfs.File(
            os.path.join(g.ADDON_USERDATA_PATH, "providers", "__init__.py"),
            "w+")
        provider_init.write(
            str(base64.b64decode(g.decode_py2(INIT_BASE64)).decode("utf-8")))
        provider_init.close()