Ejemplo n.º 1
0
 def __init__(self):
     if OverlayThreadingBridge.__single:
         raise RuntimeError, 'OverlayThreadingBridge is Singleton'
     OverlayThreadingBridge.__single = self
     self.secover = None
     self.olapps = None
     self.olappsmsghandler = None
     self.olappsconnhandler = None
     self.tqueue = TimedTaskQueue(nameprefix='Overlay')
Ejemplo n.º 2
0
    def __init__(self,
                 url_list,
                 options,
                 uid,
                 cookie_jar,
                 tdef,
                 player_data=None):
        self.url_list = url_list
        self.uid = uid
        self.cookie_jar = cookie_jar
        self.version = 'ts' + VERSION + '-' + VERSION_REV
        self.screen_size = self.get_screen_size()
        if options is None:
            self.send_online_interval = TNS.DEFAULT_ONLINE_INTERVAL
            self.allowed_content_types = TNS.DEFAULT_CONTENT_TYPES
            self.only_license = True
        else:
            try:
                i = int(options.get('only_license', 1))
                self.only_license = i != 0
            except:
                self.only_license = True

            try:
                self.send_online_interval = int(
                    options.get('online_interval',
                                TNS.DEFAULT_ONLINE_INTERVAL))
            except:
                self.send_online_interval = 0

            self.allowed_content_types = options.get('allowed_content_types',
                                                     TNS.DEFAULT_CONTENT_TYPES)
            if not isinstance(self.allowed_content_types, list):
                self.allowed_content_types = []
        if tdef.get_live():
            self.content_type = TNS.TYPE_LIVE
        else:
            self.content_type = TNS.TYPE_VOD
        if self.content_type not in self.allowed_content_types:
            if DEBUG:
                log('tns::__init__: not allowed: content_type',
                    self.content_type, 'allowed', self.allowed_content_types)
            raise TNSNotAllowedException
        self.player_id = self.get_random()
        self.session_id = self.get_random()
        self.content_id = None
        if tdef.get_tns_enabled():
            provider_key = tdef.get_provider()
            if provider_key is not None:
                provider_content_id = tdef.get_content_id()
                if provider_content_id is None:
                    provider_content_id = ''
                try:
                    name = tdef.get_name_as_unicode()
                    name = name.encode('utf-8')
                except:
                    if DEBUG:
                        print_exc()
                    name = ''

                s = hashlib.sha1(provider_key + provider_key[0:4]).hexdigest()
                provider_key = s[:10] + '-' + s[10:20] + '-' + s[
                    20:30] + '-' + s[30:]
                self.content_id = 'ts:' + name + ':' + provider_key + ':' + provider_content_id
                if DEBUG:
                    log('tns::__init__: tns enabled, content id:',
                        self.content_id)
            elif DEBUG:
                log('tns::__init__: tns enabled, but missing provider key')
        if self.content_id is None:
            if self.only_license:
                if DEBUG:
                    log('tns::__init__: only licensed content allowed')
                raise TNSNotAllowedException
            self.content_id = 'ts:user_content'
            if DEBUG:
                log('tns::__init__: content id:', self.content_id)
        self.video_width = None
        self.video_height = None
        if player_data is not None:
            if player_data.has_key('width'):
                self.video_width = data['width']
            if player_data.has_key('height'):
                self.video_height = data['height']
        self.play_time = 0
        self.buffer_time = 0
        self.online_time = 0
        self.download_stopped = False
        self.stopped = False
        self.playing = False
        self.buffering = False
        self.last_buffering = 0
        self.tqueue = TimedTaskQueue(nameprefix='TNSTaskQueue', debug=False)
Ejemplo n.º 3
0
 def __init__(self, node_type, node_id):
     self.url_list = None
     self.node_type = node_type
     self.node_id = node_id
     self.tqueue = TimedTaskQueue(nameprefix='TrafficStatTaskQueue',
                                  debug=False)