コード例 #1
0
 def __init__(self):
     log.info('Starting seansiktv.pl')
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.up = urlparser.urlparser()
     self.cm = mrknow_pCommon.common()
     self.pl = mrknow_Player.mrknow_Player()
コード例 #2
0
ファイル: anyfiles.py プロジェクト: smileyhatzz/sd-xbmc
 def __init__(self):
     log.info('Loading ' + SERVICE)
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.common = pCommon.common()
     self.history = pCommon.history()
     self.anyfiles = serviceParser()
コード例 #3
0
 def __init__(self):
     log.info('Starting typertv.com.pl')
     self.cm = mrknow_pCommon.common()
     self.parser = mrknow_Parser.mrknow_Parser()
     self.up = mrknow_urlparser.mrknow_urlparser()
     self.settings = settings.TVSettings()
     self.pp = mrknow_Pageparser.mrknow_Pageparser()
コード例 #4
0
ファイル: filmsonline.py プロジェクト: gosiaiunia1/KODI_PRIV
 def __init__(self):
     log.info('Starting filmsonline.pl')
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.up = mrknow_urlparser.mrknow_urlparser()
     self.cm = libCommon.common()
     self.p = Player.Player()
コード例 #5
0
    def __init__(self):
        log.info('Loading Teledyski')
        self.settings = settings.TVSettings()
        self.parser = Parser.Parser()
        self.cm = pCommon.common()
	self.exception = Errors.Exception()
	self.navigation = Navigation.VideoNav()
	self.history = pCommon.history()
コード例 #6
0
 def __init__(self):
     log.info('Loading ' + SERVICE)
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.cm = pCommon.common()
     self.history = pCommon.history()
     self.chars = pCommon.Chars()
     self.exception = Errors.Exception()
コード例 #7
0
 def __init__(self):
     log.info('Starting mmtv.pl')
     self.cm = libCommon.common()
     self.parser = Parser.Parser()
     self.up = urlparser.urlparser()
     self.COOKIEFILE = ptv.getAddonInfo(
         'path') + os.path.sep + "cookies" + os.path.sep + "mmtv.cookie"
     self.settings = settings.TVSettings()
コード例 #8
0
ファイル: iitvinfo.py プロジェクト: smileyhatzz/sd-xbmc
    def __init__(self):
        log.info('Loading ' + SERVICE)
        self.settings = settings.TVSettings()
        self.parser = Parser.Parser()
        self.up = urlparser.urlparser()
        self.cm = pCommon.common()
        self.navigation = Navigation.VideoNav()
	self.chars = pCommon.Chars()
	self.exception = Errors.Exception()
コード例 #9
0
 def __init__(self):
     log.info('Starting wrzuta.pl')
     self.cm = mrknow_pCommon.common()
     self.parser = mrknow_Parser.mrknow_Parser()
     self.up = mrknow_urlparser.mrknow_urlparser()
     self.cm = mrknow_pCommon.common()
     self.settings = settings.TVSettings()
     self.COOKIEFILE = ptv.getAddonInfo(
         'path') + os.path.sep + "cookies" + os.path.sep + "wrzuta.cookie"
コード例 #10
0
ファイル: mmtv.py プロジェクト: pqncy/filmkodi
 def __init__(self):
     log.info('Starting mmtv.pl')
     self.cm = libCommon.common()
     self.parser = Parser.Parser()
     self.up = urlparser.urlparser()
     self._addon = xbmcaddon.Addon()
     self.COOKIEFILE = xbmc.translatePath(
         'special://profile/addon_data/%s/cookies/mmtv.cookie' %
         self._addon.getAddonInfo('id'))
     self.settings = settings.TVSettings()
コード例 #11
0
ファイル: kinolive.py プロジェクト: gosiaiunia1/KODI_PRIV
 def __init__(self):
     log.info('Starting kinolive.pl')
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.up = mrknow_urlparser.mrknow_urlparser()
     self.cm = libCommon.common()
     self.COOKIEFILE = ptv.getAddonInfo('path') + os.path.sep + "cookies" + os.path.sep + "kinoliveserial.cookie"
     query_data = {'url': 'http://alekino.tv/auth/login', 'use_host': False, 'use_cookie': True, 'save_cookie': True, 'load_cookie': False, 'cookiefile': self.COOKIEFILE, 'use_post': False, 'return_data': True}
     data = self.cm.getURLRequestData(query_data)
     self.p = Player.Player()
コード例 #12
0
ファイル: radio81.py プロジェクト: rockfird56/filmkodi
 def __init__(self):
     log.info('Starting radio81.pl')
     self.cm = mrknow_pCommon.common()
     self.parser = Parser.Parser()
     self.up = mrknow_urlparser.mrknow_urlparser()
     self.settings = settings.TVSettings()
     self.COOKIEFILE = ptv.getAddonInfo(
         'path') + os.path.sep + "cookies" + os.path.sep + "radio81.cookie"
     self.pp = mrknow_Pageparser.mrknow_Pageparser()
     self.p = mrknow_Player.mrknow_Player()
コード例 #13
0
ファイル: wrzuta.py プロジェクト: svage96/filmkodi
 def __init__(self):
     log.info('Starting wrzuta.pl')
     self.cm = mrknow_pCommon.common()
     self.parser = mrknow_Parser.mrknow_Parser()
     self.up = mrknow_urlparser.mrknow_urlparser()
     self.cm = mrknow_pCommon.common()
     self.settings = settings.TVSettings()
     self._addon = xbmcaddon.Addon()
     self.COOKIEFILE = xbmc.translatePath(
         'special://profile/addon_data/%s/cookies/wrzuta.cookie' %
         self._addon.getAddonInfo('id'))
コード例 #14
0
ファイル: default.py プロジェクト: ricardofcf/filmkodi
    def __init__(self):
        self.log = mrknow_pLog.pLog()
        self.log.info('Starting xbmcfilm.pl')
        self.p = mrknow_Player.mrknow_Player()
        self.parser = mrknow_Parser.mrknow_Parser()
        self.up = mrknow_urlparser.mrknow_urlparser()
        self.settings = settings.TVSettings()

        self.api = xbmcfilmapi.XbmcFilmAPI()
        self.cm = mrknow_pCommon.common()
        self.level = 1
        self.mytree = {}
コード例 #15
0
 def __init__(self):
     self.settings = settings.TVSettings()
     self.parser = UParser.UParser()
     self.up = urlparser.urlparser()
     #self.cm = data7_pCommon.common()
     #self.pl = data7_Player.data7_Player()
     self.refl = libCommon2.reflectionHelper()
     self.hp = HTMLParser.HTMLParser()
     self.cache = StorageServer.StorageServer(
         "xbmc.plugin.vine.frm_seriale", 1)
     self.cache.table_name = "xbmc.plugin.vine.frm_seriale"
     self.urlhelper = libCommon2.urlhelper()
     self.instances = {}
     self.load_series()
コード例 #16
0
    def __init__(self):
        #BASE_RESOURCE_PATH = os.path.join( os.getcwd(), "resources" )
        BASE_RESOURCE_PATH = os.path.join(ptv.getAddonInfo('path'),
                                          "resources")
        BASE_RESOURCE_PATH = os.path.join(ptv2.getAddonInfo('path'),
                                          "resources")

        sys.path.append(os.path.join(BASE_RESOURCE_PATH, "lib"))
        sys.path.append(os.path.join(BASE_RESOURCE_PATH, "resources"))

        sys.path.append(os.path.join(ptv.getAddonInfo('path'), "host"))
        import mrknow_pLog, settings, mrknow_Parser, mrknow_pCommon

        self.cm = mrknow_pCommon.common()
        self.log = mrknow_pLog.pLog()
        self.settings = settings.TVSettings()
        self.parser = mrknow_Parser.mrknow_Parser()
        #self.log.info("DIR " + common.Paths.modulesDir + 'mainMenu.cfg')
        if ptv.getSetting('adults') == 'false':
            self.MAIN_MENU_FILE = 'mainMenu.cfg'
        else:
            self.MAIN_MENU_FILE = 'mainMenuAdult.cfg'
        self.SPORT_MENU_FILE = 'sportMenu.cfg'

        if not os.path.exists(common.Paths.pluginDataDir):
            os.makedirs(common.Paths.pluginDataDir, 0777)

        self.favouritesManager = FavouritesManager(
            common.Paths.favouritesFolder)
        self.customModulesManager = CustomModulesManager(
            common.Paths.customModulesDir, common.Paths.customModulesRepo)

        if not os.path.exists(common.Paths.customModulesDir):
            os.makedirs(common.Paths.customModulesDir, 0777)

        self.parser2 = Parser2()
        self.currentlist = None

        self.addon = None
        self.log.info('Filmy online www.mrknow.pl')
        common.clearCache()
コード例 #17
0
ファイル: milanos.py プロジェクト: gosiaiunia1/KODI_PRIV
 def __init__(self):
     log.info('Starting milanos.pl')
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.up = urlparser.urlparser()
コード例 #18
0
 def __init__(self):
     log.info('Starting livelooker.pl')
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.up = pageparser.pageparser()
コード例 #19
0
 def __init__(self):
     log.info('Starting joemonster.pl')
     self.settings = settings.TVSettings()
     self.parser = mrknow_Parser.mrknow_Parser()
     self.up = urlparser.urlparser()
コード例 #20
0
ファイル: meczyki.py プロジェクト: gosiaiunia1/KODI_PRIV
 def __init__(self):
     log.info('Starting meczyki.pl')
     self.settings = settings.TVSettings()
     self.parser = mrknow_Parser.mrknow_Parser()
     self.up = mrknow_Pageparser.mrknow_Pageparser()
     self.cm = mrknow_pCommon.common()
コード例 #21
0
ファイル: tvn.py プロジェクト: smileyhatzz/sd-xbmc
class tvn:
    mode = 0
    __settings__ = xbmcaddon.Addon(sys.modules["__main__"].scriptID)
    __moduleSettings__ = settings.TVSettings()
    contentHost = 'http://tvnplayer.pl'
    mediaHost = 'http://redir.atmcdn.pl'
    authKey = 'b4bc971840de63d105b3166403aa1bea'
    startUrl = '/api/?platform=Mobile&terminal=Android&format=xml&v=2.0&authKey=' + authKey
    contentUserAgent = 'Apache-HttpClient/UNAVAILABLE (java 1.4)'
    if platform == 'Samsung TV':
        contentHost = 'https://api.tvnplayer.pl'
        authKey = 'ba786b315508f0920eca1c34d65534cd'
        startUrl = '/api/?platform=ConnectedTV&terminal=Samsung&format=xml&v=2.0&authKey=' + authKey
        contentUserAgent = 'Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV; Maple2012) AppleWebKit/534.7 (KHTML, like Gecko) SmartTV Safari/534.7'
    mediaMainUrl = '/scale/o2/tvn/web-content/m/'
    mediaUserAgent = 'Dalvik/1.2.0 (Linux; U; Android 2.2.1; GT-I5700 Build/FRG83)'
    contentUser = '******'
    contentPass = '******'

    def __init__(self):
        log.info("Starting TVN Player")
        self.parser = Parser.Parser()
        self.navigation = Navigation.VideoNav()
        self.common = pCommon.common()
        self.exception = Errors.Exception()
        if quality_manual == 'true':
            ptv.setSetting('tvn_quality_temp', '')
        elif quality_manual == 'false':
            ptv.setSetting('tvn_quality_temp', quality)

    def addDir(self,
               name,
               id,
               mode,
               category,
               iconimage,
               videoUrl='',
               listsize=0,
               season=0):
        u = sys.argv[0] + "?mode=" + mode + "&name=" + urllib.quote_plus(
            name) + "&category=" + urllib.quote_plus(
                category) + "&id=" + urllib.quote_plus(id)
        if season > 0:
            u = u + "&season=" + str(season)
        ok = True
        liz = xbmcgui.ListItem(name,
                               iconImage="DefaultFolder.png",
                               thumbnailImage=iconimage)
        if category == 'episode':
            liz.setProperty("IsPlayable", "true")
            liz.setInfo(type="Video", infoLabels={"Title": name})
            ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                             url=videoUrl,
                                             listitem=liz,
                                             isFolder=False,
                                             totalItems=listsize)
        else:
            liz.setInfo(type="Video", infoLabels={"Title": name})
            ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                             url=u,
                                             listitem=liz,
                                             isFolder=True,
                                             totalItems=listsize)
        return ok

    def addVideoLink(self, prop, url, iconimage, listsize=0):
        ok = True
        folder = False
        if proxy == 'true':
            folder = True
        if not 'description' in prop:
            prop['description'] = ''
        if not 'time' in prop:
            prop['time'] = 0
        if not 'aired' in prop:
            prop['aired'] = ''
        if not 'overlay' in prop:
            prop['overlay'] = 0
        if not 'TVShowTitle' in prop:
            prop['TVShowTitle'] = ''
        if not 'episode' in prop:
            prop['episode'] = 0

        liz = xbmcgui.ListItem(prop['title'],
                               iconImage="DefaultFolder.png",
                               thumbnailImage=iconimage)
        liz.setProperty("IsPlayable", "true")
        liz.setInfo(type="Video",
                    infoLabels={
                        "Title": prop['title'],
                        "Plot": prop['description'],
                        "Duration": str(prop['time']),
                        "Premiered": prop['aired'],
                        "Overlay": prop['overlay'],
                        "TVShowTitle": prop['TVShowTitle'],
                        "Episode": prop['episode']
                    })

        if dstpath != "None" or not dstpath:
            cm = self.navigation.addVideoContextMenuItems({
                'service':
                SERVICE,
                'title':
                urllib.quote_plus(prop['title']),
                'url':
                urllib.quote_plus(url),
                'path':
                os.path.join(dstpath, SERVICE)
            })
            liz.addContextMenuItems(cm, replaceItems=False)
        ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                         url=url,
                                         listitem=liz,
                                         isFolder=folder,
                                         totalItems=listsize)
        return ok

    def addVideoProxyLink(self, prop, url, iconimage, listsize=0):
        ok = True
        u = '%s?service=%s&url=%s&type=playSelectedMovie&name=%s' % (
            sys.argv[0], SERVICE, urllib.quote_plus(url), prop['title'])
        folder = False
        if proxy == 'true':
            folder = True
        if not 'description' in prop:
            prop['description'] = ''
        if not 'time' in prop:
            prop['time'] = 0
        if not 'aired' in prop:
            prop['aired'] = ''
        if not 'overlay' in prop:
            prop['overlay'] = 0
        if not 'TVShowTitle' in prop:
            prop['TVShowTitle'] = ''
        if not 'episode' in prop:
            prop['episode'] = 0
        if dbg == 'true':
            log.info('TVN - addVideoProxyLink() -> prop[]: ' + str(prop))
        liz = xbmcgui.ListItem(prop['title'],
                               iconImage="DefaultFolder.png",
                               thumbnailImage=iconimage)
        liz.setProperty("IsPlayable", "true")
        liz.setInfo(type="Video",
                    infoLabels={
                        "Title": prop['title'],
                        "Plot": prop['description'],
                        "Duration": str(prop['time']),
                        "Premiered": prop['aired'],
                        "Overlay": prop['overlay'],
                        "TVShowTitle": prop['TVShowTitle'],
                        "Episode": prop['episode']
                    })

        if dstpath != "None" or not dstpath:
            cm = self.navigation.addVideoContextMenuItems({
                'service':
                SERVICE,
                'title':
                urllib.quote_plus(prop['title']),
                'url':
                urllib.quote_plus(url),
                'path':
                os.path.join(dstpath, SERVICE)
            })
            liz.addContextMenuItems(cm, replaceItems=False)
        ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                         url=u,
                                         listitem=liz,
                                         isFolder=folder,
                                         totalItems=listsize)
        return ok

    def listsCategories(self):
        if quality_manual == 'true':
            ptv.setSetting('tvn_quality_temp', '')
        elif quality_manual == 'false':
            ptv.setSetting('tvn_quality_temp', quality)
        if self.category != 'None' and self.id != 'None':
            method = 'getItems'
            groupName = 'items'
            page = 1 + self.page
            urlQuery = '&type=%s&id=%s&limit=%s&page=%s&sort=newest&m=%s' % (
                self.category, self.id, str(PAGE_LIMIT), str(page), method)
            if self.season > 0:
                urlQuery = urlQuery + "&season=" + str(self.season)

        else:
            method = 'mainInfo'
            groupName = 'categories'
            urlQuery = '&m=' + method

        if dbg == 'true':
            log.info('TVN - listCategories() -> link: ' + self.contentHost +
                     self.startUrl + urlQuery)
        try:
            #response = urllib2.urlopen(req)
            response = self.common.getURLRequestData({
                'url':
                self.contentHost + self.startUrl + urlQuery,
                'use_host':
                True,
                'host':
                self.contentUserAgent,
                'use_cookie':
                False,
                'use_post':
                False,
                'return_data':
                False
            })
        except Exception, exception:
            traceback.print_exc()
            self.exception.getError(str(exception))
            exit()
        xmlDoc = ET.parse(response).getroot()
        categories = xmlDoc.findall(method + "/" + groupName + "/row")
        countItemNode = xmlDoc.find(method + "/count_items")
        showNextPage = False
        if ET.iselement(countItemNode):
            countItem = int(countItemNode.text)
            if countItem > int(PAGE_LIMIT) * (1 + self.page):
                showNextPage = True

        listsize = len(categories)

        seasons = xmlDoc.find(method + "/seasons")
        showSeasons = False
        if ET.iselement(seasons) and self.season == 0:
            showSeasons = True
            listsize = listsize + seasons.__len__()
            numSeasons = seasons.__len__()
        else:
            numSeasons = 0

        hasVideo = False

        if self.season <> 0 or (self.season == numSeasons):
            for category in categories:
                titleNode = category.find('name')
                if not ET.iselement(titleNode):
                    titleNode = category.find('title')

                if ET.iselement(titleNode):
                    name = titleNode.text.encode('utf-8')
                else:
                    name = 'brak'

                episodeNode = category.find('episode')
                if ET.iselement(episodeNode):
                    episodeNo = episodeNode.text
                    if episodeNo:
                        if episodeNode.text != "0":
                            name = name + ", odcinek " + str(episodeNode.text)
                seasonNode = category.find('season')
                if ET.iselement(seasonNode):
                    seasonNo = seasonNode.text
                    if seasonNo:
                        if seasonNo != "0":
                            name = name + ", sezon " + str(seasonNo)

                airDateNode = category.find('start_date')
                if ET.iselement(airDateNode):
                    airDateStr = airDateNode.text
                    if airDateStr:
                        airDate = strptime(airDateStr, "%Y-%m-%d %H:%M")
                        #if airDate <
                        now = localtime()
                        if airDate > now:
                            name = name + " (planowany)"
                            #print airDate.text

                type = category.find('type').text.encode('utf-8')
                id = category.find('id').text.encode('utf-8')
                videoUrl = ''
                if type == 'episode':
                    videoProp = self.getVideoUrl(type, id)
                    videoUrl = videoProp[0]

                iconUrl = self.getIconUrl(category)

                if videoUrl == "":
                    self.addDir(name, id, self.mode, type, iconUrl, videoUrl,
                                listsize)
                else:
                    prop = {
                        'title': name,
                        'TVShowTitle': name,
                        'aired': airDate,
                        'episode': 0,
                        'description': videoProp[2],
                        'time': int(videoProp[1])
                    }
                    if self.watched(videoUrl):
                        prop['overlay'] = 7
                    if dbg == 'true':
                        log.info(
                            'TVN Player - listCategories() -> videoUrl: ' +
                            videoUrl)

                    if proxy == 'true':
                        hasVideo = False
                        if dbg == 'true':
                            log.info(
                                'TVN - listCategories()[proxy] -> prop[]: ' +
                                str(prop))
                        self.addVideoProxyLink(prop, videoUrl, iconUrl,
                                               listsize)
                    else:
                        hasVideo = True
                        self.addVideoLink(prop, videoUrl, iconUrl, listsize)

        if showSeasons:
            for season in seasons:
                iconUrl = self.getIconUrl(season)
                self.addDir(
                    season.find('name').text, self.id, self.mode,
                    self.category, iconUrl, "", listsize,
                    season.find('id').text)

        if showNextPage:
            self.addNextPage()
        xbmcplugin.addSortMethod(handle=int(sys.argv[1]),
                                 sortMethod=xbmcplugin.SORT_METHOD_UNSORTED)
        xbmcplugin.addSortMethod(handle=int(sys.argv[1]),
                                 sortMethod=xbmcplugin.SORT_METHOD_LABEL)
        if hasVideo:
            xbmcplugin.setContent(int(sys.argv[1]), 'episodes')
        xbmcplugin.endOfDirectory(int(sys.argv[1]))
コード例 #22
0
ファイル: drhtvcompl.py プロジェクト: rockfird56/filmkodi
 def __init__(self):
     log.info('Starting drhtvcompl.pl')
     self.settings = settings.TVSettings()
     self.parser = mrknow_Parser.mrknow_Parser()
     self.up = pageparser.pageparser()
コード例 #23
0
ファイル: default.py プロジェクト: smileyhatzz/sd-xbmc
 def __init__(self):
   log.info('Starting Polish Live TV')
   self.settings = settings.TVSettings()
   self.parser = Parser.Parser()
コード例 #24
0
ファイル: poplertv.py プロジェクト: smileyhatzz/sd-xbmc
 def __init__(self):
     log.info('Loading ' + SERVICE)
     self.settings = settings.TVSettings()
     self.parser = Parser.Parser()
     self.common = pCommon.common()
コード例 #25
0
 def __init__(self):
     self.cm = libCommon.common()
     self.up = urlparser.urlparser()
     self.settings = settings.TVSettings()
コード例 #26
0
# -*- coding: utf-8 -*-
import cookielib, os, string, StringIO
import os, time, base64, logging, calendar
import urllib, urllib2, re, sys, math
import xbmcaddon, xbmc, xbmcgui
import urlparse, httplib, random, string

scriptID = 'plugin.video.mrknow'
scriptname = "Wtyczka XBMC www.mrknow.pl"
ptv = xbmcaddon.Addon(scriptID)

import z_pLog, settings, libCommon, urlparser

log = z_pLog.pLog()
sets = settings.TVSettings()


class pageparser:
    def __init__(self):
        self.cm = libCommon.common()
        self.up = urlparser.urlparser()
        self.settings = settings.TVSettings()

    def hostSelect(self, v):
        hostUrl = False
        d = xbmcgui.Dialog()
        if len(v) > 0:
            valTab = []
            for i in range(len(v)):
                valTab.append(str(i + 1) + '. ' + self.getHostName(v[i], True))
            item = d.select("Wybor hostingu", valTab)
コード例 #27
0
 def __init__(self):
     self.settings = settings.TVSettings()
     self.parser = UParser.UParser()
コード例 #28
0
ファイル: tvp.py プロジェクト: smileyhatzz/sd-xbmc
class tvp:
    mode = 0
    __settings__ = xbmcaddon.Addon(sys.modules["__main__"].scriptID)
    __moduleSettings__ = settings.TVSettings()

    def __init__(self):
        log.info("Starting TVP.INFO")
        socket.setdefaulttimeout(15)
        self.parser = Parser.Parser()

    def addDir(self, name, url, mode, category, iconimage):
        u = sys.argv[0] + "?mode=" + mode + "&name=" + urllib.quote_plus(
            name) + "&category=" + urllib.quote_plus(
                category) + "&url=" + urllib.quote_plus(url)
        ok = True
        liz = xbmcgui.ListItem(name,
                               iconImage="DefaultFolder.png",
                               thumbnailImage=iconimage)
        liz.setProperty("Folder", "true")
        ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                         url=u,
                                         listitem=liz,
                                         isFolder=True)
        return ok

    def addVideoLink(self, prop, url, iconimage, listsize=0):
        ok = True
        if not 'description' in prop:
            prop['description'] = ''
        if not 'time' in prop:
            prop['time'] = 0
        if not 'aired' in prop:
            prop['aired'] = ''
        if not 'overlay' in prop:
            prop['overlay'] = 0
        if not 'TVShowTitle' in prop:
            prop['TVShowTitle'] = ''
        if not 'episode' in prop:
            prop['episode'] = 0

        liz = xbmcgui.ListItem(prop['title'],
                               iconImage="DefaultFolder.png",
                               thumbnailImage=iconimage)
        liz.setProperty("IsPlayable", "true")
        liz.setInfo(type="Video",
                    infoLabels={
                        "Title": prop['title'],
                        "Plot": prop['description'],
                        "Duration": str(prop['time'] / 60),
                        "Premiered": prop['aired'],
                        "Overlay": prop['overlay'],
                        "TVShowTitle": prop['TVShowTitle'],
                        "Episode": int(prop['episode'])
                    })
        ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),
                                         url=url,
                                         listitem=liz,
                                         isFolder=False,
                                         totalItems=listsize)
        return ok

    def listsCategories(self, mainList):
        for item in mainList:
            xbmcplugin.setContent(HANDLE, 'albums')
            #print "test[2]: " + str(item)
            value = item.split('|')
            self.addDir(value[0], value[2], self.mode, value[1], '')

        xbmcplugin.endOfDirectory(int(sys.argv[1]))

    def getVideoListXML(self):
        findVideo = False
        paginationUrl = ''
        if self.page > 0:
            paginationUrl = "&start_rec=" + str(self.page * PAGE_MOVIES)
        try:
            elems = ET.parse(urllib.urlopen(self.url +
                                            paginationUrl)).getroot()
            epgItems = elems.findall("epg_item")
            if not epgItems:
                epgItems = elems.findall("directory_stats/video")
            if not epgItems:
                epgItems = elems.findall("directory_standard/video")
            if not epgItems:
                epgItems = elems.findall("video")
            if not epgItems:
                epgItems = elems.findall("directory_video/video")

            pub = elems.findall("publication_status")
            if pub[0].attrib['publication_status_id'] == '4':
                d = xbmcgui.Dialog()
                d.ok('Brak video', pub[0].attrib['name'].encode('utf-8'))

            #print "test[6]: " + str(len(epgItems))

            listsize = len(epgItems)
            xbmcplugin.setContent(HANDLE, 'episodes')
            xbmcplugin.addSortMethod(
                handle=HANDLE, sortMethod=xbmcplugin.SORT_METHOD_UNSORTED)
            xbmcplugin.addSortMethod(handle=HANDLE,
                                     sortMethod=xbmcplugin.SORT_METHOD_LABEL)

            for epgItem in epgItems:
                prop = {
                    'title': epgItem.find("title").text.encode('utf-8'),
                    'TVShowTitle': self.name
                }
                if epgItem.attrib['hptitle'] <> '':
                    prop['title'] = epgItem.attrib['hptitle'].encode('utf-8')
                if epgItem.attrib['release_date']:
                    prop['aired'] = epgItem.attrib['release_date']
                if epgItem.get('episode_number'):
                    prop['episode'] = epgItem.attrib['episode_number']
                prop['description'] = ''
                textNode = epgItem.find('text_paragraph_standard/text')
                #print "test[8]:" + textNode.text.encode('utf-8')
                if ET.iselement(textNode):
                    prop['description'] = textNode.text.encode('utf-8')
                    prop['description'] = prop['description'].replace(
                        "<BR/>", "")

                iconUrl = ''
                videoUrl = ''
                iconFileNode = epgItem.find('video/image')
                if not iconFileNode:
                    iconFileNode = epgItem.find('image')

                if iconFileNode:
                    iconFileName = iconFileNode.attrib['file_name']
                    iconFileName = iconFileName.split('.')
                    iconUrl = 'http://s.v3.tvp.pl/images/6/2/4/uid_%s_width_700.jpg' % iconFileName[
                        0]
                    iconTitle = iconFileNode.find('title').text.encode('utf-8')
                    if len(iconTitle) > 4 and iconTitle <> prop['title']:
                        if iconTitle <> 'zdjecie domyślne' and iconTitle <> 'image' and iconTitle <> 'obrazek':
                            iconTitle = iconTitle.split(',')[0]
                            prop['title'] = iconTitle + " - " + prop['title']
                    #print "test[4]: " + iconUrl

                videMainNode = epgItem.find('video')
                if ET.iselement(videMainNode):
                    #print "test[7]: " + str(ET.dump(videMainNode))
                    # 2400 00:41:28  2488
                    # 2100 00:35:50  2150
                    if videMainNode.attrib['release_date']:
                        prop['aired'] = videMainNode.attrib['release_date']
                    if videMainNode.attrib['episode_number']:
                        prop['episode'] = videMainNode.attrib['episode_number']

                    videoText = videMainNode.find('text_paragraph_lead/text')
                    if ET.iselement(videoText):
                        if len(prop['description']) < videoText.text.encode(
                                'utf-8'):
                            prop['description'] = videoText.text.encode(
                                'utf-8')

                    prop['time'] = int(videMainNode.attrib['duration'])
                    iconTitle = videMainNode.find('title').text.encode('utf-8')
                    if len(iconTitle) > 4 and iconTitle <> prop['title']:
                        if iconTitle <> 'zdjecie domyślne' and iconTitle <> 'image' and iconTitle <> 'obrazek':
                            iconTitle = iconTitle.split(',')[0]
                            prop['title'] = prop['title'] + " - " + iconTitle

                videoNode = epgItem.find('video/video_format')
                if not videoNode:
                    videoNode = epgItem.find('video_format')

                if videoNode:
                    videoUrl = videoNode.attrib['temp_sdt_url']

                if videoUrl != '':
                    #if self.watched(videoUrl):
                    #    prop['overlay'] = 7

                    self.addVideoLink(prop, videoUrl, iconUrl, listsize)
                    #print "test[4]: " + prop['title'] + ", " + iconUrl + ", " + videoUrl
                    findVideo = True
        except urllib2.HTTPError, e:
            err = str(e)
            msg = e.read()
            xbmc.executebuiltin('XBMC.Notification("%s", "%s", %s)' %
                                (err, msg, 5))
        except urllib2.URLError, e:
            err = str(e)
            msg = e.read()
            xbmc.executebuiltin('XBMC.Notification("%s", "%s", %s)' %
                                (err, msg, 5))