Esempio n. 1
0
 def Test():
     Logger.CreateLogger("c:\\temp\\test.log", "HTML EntityHelper Test", 0,
                         False)
     chars = {
         "&": "&",
         "'": "'",
         "d": "d",
         ">": ">",
         "'": "'",
         "'": "'",
         "'": "'",
         """: '"'
     }
     for char in chars:
         val = HtmlEntityHelper.ConvertHTMLEntities(char)
         print "%-7s: %s -> %s - %s" % (val == chars[char], char, val,
                                        chars[char])
Esempio n. 2
0
def RunPlugin():
    """ Runs Retrospect as a Video Add-On """

    logFile = None

    try:
        from config import Config
        from helpers.sessionhelper import SessionHelper

        # get a logger up and running
        from logger import Logger

        # only append if there are no active sessions
        if not SessionHelper.IsSessionActive():
            # first call in the session, so do not append the log
            appendLogFile = False
        else:
            appendLogFile = True

        logFile = Logger.CreateLogger(os.path.join(Config.profileDir,
                                                   Config.logFileNameAddon),
                                      Config.appName,
                                      append=appendLogFile,
                                      dualLogger=lambda x, y=4: xbmc.log(x, y))

        from urihandler import UriHandler
        from addonsettings import AddonSettings
        from textures import TextureHandler

        # update the loglevel
        Logger.Instance().minLogLevel = AddonSettings.GetLogLevel()

        useCaching = AddonSettings.CacheHttpResponses()
        cacheDir = None
        if useCaching:
            cacheDir = Config.cacheDir

        # determine the platform
        from envcontroller import EnvController
        from environments import Environments
        maxFileNameLength = None
        if EnvController.IsPlatform(Environments.Xbox):
            maxFileNameLength = 42

        ignoreSslErrors = AddonSettings.IgnoreSslErrors()
        UriHandler.CreateUriHandler(cacheDir=cacheDir,
                                    maxFileNameLength=maxFileNameLength,
                                    cookieJar=os.path.join(
                                        Config.profileDir, "cookiejar.dat"),
                                    ignoreSslErrors=ignoreSslErrors)

        # start texture handler
        TextureHandler.SetTextureHandler(Config, Logger.Instance(),
                                         UriHandler.Instance())

        # run the plugin
        import plugin
        plugin.Plugin(sys.argv[0], sys.argv[2], sys.argv[1])

        # close the log to prevent locking on next call
        Logger.Instance().CloseLog()
        logFile = None

        # make sure we leave no references behind
        AddonSettings.ClearCachedAddonSettingsObject()
    except:
        if logFile:
            logFile.Critical("Error running plugin", exc_info=True)
        raise
Esempio n. 3
0
                continue
            return value.strip('.')

        def ReadString(self, length):
            # print "from: %s to %s" % (self.__pointer, self.__pointer + length)
            val = self.__byteString[self.__pointer:self.__pointer + length]
            #print "Value %r" % (val, )
            self.__pointer += length
            return val

        def __ByteToInt(self, byteString):
            return int(byteString.encode('hex'), 16)


if __name__ == "__main__":
    logger = Logger.CreateLogger("c:\\temp\\www.log", "UriHandler Test", 0)

    # noinspection PyUnusedLocal
    def CallBack(retrievedsizeMB, totalsizeMB, perc, completed, status):
        """
        @param retrievedsizeMB:
        @param totalsizeMB:
        @param perc:
        @param completed:
        @param status:
        """
        print "%s - %s %s %s" % (status, totalsizeMB, retrievedsizeMB, perc)
        #if perc > 2:
        #    return True
        return False
Esempio n. 4
0
                title8: [1,2,3,4,"test"],
                "title12": 2
            }
        }}  """

        testData = """
        {                image: "http:\/\/assets.ur.se\/id\/170804\/images\/1_l.jpg",file_flash: "se\/170000-170999\/170804-25.mp4",file_mobile: "se\/170000-170999\/170804-24.mp4",file_html5: "ondemand\/_definst_\/mp4:se\/170000-170999\/170804-51.mp4\/",subtitles: "http:\/\/undertexter.ur.se\/170000-170999\/170804-11.tt,http:\/\/undertexter.ur.se\/170000-170999\/170804-13.tt,http:\/\/undertexter.ur.se\/170000-170999\/170804-36.tt,http:\/\/undertexter.ur.se\/170000-170999\/170804-21.tt,http:\/\/undertexter.ur.se\/170000-170999\/170804-41.tt",subtitle_labels: "Svenska,Svenska (\u00f6vers\u00e4ttning),Danska,Engelska,Kineska (mandarin)",subtitle_default: "Svenska",streaming_config: {"rtmp":{"application":"ondemand"},"http_streaming":{"hls_file":"playlist.m3u8","hds_file":"manifest.f4m","smooth_file":"Manifest"},"tt_subtitles":{"base_uri":"http:\/\/undertexter.ur.se\/"},"loadbalancer":"http:\/\/130.242.59.74\/loadbalancer.json","streamer":{"geoip_country_code":"SE","redirect":"130.242.59.75"}},skin: '/design/ur_play/javascript/urplayer/urplayer.zip',width: '100%',height: '100%',}
        """

        testData = 'jQuery18303627530449324564_1370950605750({"success":true,"stream":"http:\/\/livestreams.omroep.nl\/live\/npo\/tvlive\/ned1\/ned1.isml\/ned1.m3u8?hash=fcec95fb63b4a0265c5bd6626bb46732&type=jsonp&protection=url"});'
        # testData = 'jQuery18303627530449324564'

    # print testData
    print "Load time: %s\n-----------------------------------------------------------" % (end - start,)

    lg = Logger.CreateLogger("c:\\temp\\json.log", "Json Unittest", 0)
    lg.Debug("test")

    start = datetime.datetime.now()
    wrapper = JsonHelper(testData, lg)
    if False:
        cProfile.run('wrapper.GetJsonData()', sort='time')
    else:
        print wrapper.GetValue()
    try:
        query = ("programsWithTemperatures", 1, "program", "description")
        print wrapper.GetValue(*query)
        print wrapper.GetValue('episodes', 0)
        print wrapper.GetValue("programsWithTemperatures", 1, "program", "firstPlayableEpisodeVideoId")
        print wrapper.GetValue("widget", "window", "title1")
        print wrapper.GetValue("widget", "window", "title6")