示例#1
0
def create_directory_it(name, params={}, image=None, infoLabels={}, menuItems={}, search_folder=False, search_item=False, video_item=False):
    if search_item: it = PSearchItem()
    elif search_folder: it = PSearch()
    elif video_item: it = PVideoNotResolved()
    else: it = PFolder()

    it.name = toUnicode(name)
    it.params = params
    it.image = toUnicode(image)

    infolabel_uni = {}
    for key, value in infoLabels.iteritems():
        infolabel_uni[key] = toUnicode(value)

    for key, value in menuItems.iteritems():
        item_name = decode_string(key)
        thumb = None
        if isinstance(value, dict):
            params = value
            thumb = None
        if isinstance(value, list):
            thumb = value[0]
            params = value[1]
        it.add_context_menu_item(item_name, thumb=thumb, params=params)

    it.info = infolabel_uni
    return it
示例#2
0
    def create_xml_item(self, item):
        log.logDebug("%s create xml item - %s" % (self, item))
        log.debug("{0} create xml item - {1}".format(self, toString(item)))

        import time
        from datetime import datetime
        t = datetime.now()
        t1 = t.timetuple()
        uid = int(time.mktime(t1))
        if item.id:
            item.id = uid
            #log.logDebug("%s create xml item - %s already exists, skipping"%(self,item))
            #log.debug('{0} create xml item - {1} already exists, skipping'.format(self, toString(item)))
            #return
        item_id = item.get_id()
        if self.find_item_by_id(item_id):
            item_id = uid
            item.id = uid
            #log.logDebug("%s create xml item - %s already exists (2), skipping"%(self,item))
            #log.debug('{0} create xml item - {1} already exists, skipping'.format(self, toString(item)))
            #return
        addon_id = item.addon_id
        xml_item = SubElement(self.xml_root_element.find('items'), 'item')
        xml_item.set('id', toUnicode(item_id))
        xml_item.set('ctime', str(datetime.now()))
        if addon_id:
            xml_item.set('addon_id', toUnicode(addon_id))
        name = SubElement(xml_item, 'name')
        name.text = toUnicode(item.name)
        params = SubElement(xml_item, 'params')
        for key, value in item.params.iteritems():
            params.set(toUnicode(key), toUnicode(value))
        item.id = item_id
        return xml_item
示例#3
0
def create_directory_it(name, params={}, image=None, infoLabels={}, menuItems={}, search_folder=False, search_item=False, video_item=False):
    if search_item: it = PSearchItem()
    elif search_folder: it = PSearch()
    elif video_item: it = PVideoNotResolved()
    else: it = PFolder()

    it.name = toUnicode(name)
    it.params = params
    it.image = toUnicode(image)

    infolabel_uni = {}
    for key, value in infoLabels.iteritems():
        infolabel_uni[key] = toUnicode(value)

    for key, value in menuItems.iteritems():
        item_name = decode_string(key)
        thumb = None
        if isinstance(value, dict):
            params = value
            thumb = None
        if isinstance(value, list):
            thumb = value[0]
            params = value[1]
        it.add_context_menu_item(item_name, thumb=thumb, params=params)

    it.info = infolabel_uni
    return it
示例#4
0
    def create_xml_item(self, item):
        log.logDebug("%s create xml item - %s"%(self,item))
        log.debug("{0} create xml item - {1}".format(self, toString(item)))

        import time
        from datetime import datetime
        t = datetime.now()
        t1 = t.timetuple()
        uid = int(time.mktime(t1))
        if item.id:
            item.id = uid
            #log.logDebug("%s create xml item - %s already exists, skipping"%(self,item))
            #log.debug('{0} create xml item - {1} already exists, skipping'.format(self, toString(item)))
            #return
        item_id = item.get_id()
        if self.find_item_by_id(item_id):
            item_id = uid
            item.id = uid
            #log.logDebug("%s create xml item - %s already exists (2), skipping"%(self,item))
            #log.debug('{0} create xml item - {1} already exists, skipping'.format(self, toString(item)))
            #return
        addon_id = item.addon_id
        xml_item = SubElement(self.xml_root_element.find('items'), 'item')
        xml_item.set('id', toUnicode(item_id))
        xml_item.set('ctime', str(datetime.now()))
        if addon_id:
            xml_item.set('addon_id', toUnicode(addon_id))
        name = SubElement(xml_item, 'name')
        name.text = toUnicode(item.name)
        params = SubElement(xml_item, 'params')
        for key, value in item.params.iteritems():
            params.set(toUnicode(key), toUnicode(value))
        item.id = item_id
        return xml_item
示例#5
0
 def create_xml_item(self, item):
     log.debug("{0} create xml item - {1}".format(self, toString(item)))
     if item.id:
         log.debug(
             '{0} create xml item - {1} already exists, skipping'.format(
                 self, toString(item)))
         return
     item_id = item.get_id()
     if self.find_item_by_id(item_id):
         log.debug(
             '{0} create xml item - {1} already exists, skipping'.format(
                 self, toString(item)))
         return
     addon_id = item.addon_id
     xml_item = SubElement(self.xml_root_element.find('items'), 'item')
     xml_item.set('id', toUnicode(item_id))
     xml_item.set('ctime', str(datetime.now()))
     if addon_id:
         xml_item.set('addon_id', toUnicode(addon_id))
     name = SubElement(xml_item, 'name')
     name.text = toUnicode(item.name)
     params = SubElement(xml_item, 'params')
     for key, value in item.params.iteritems():
         params.set(toUnicode(key), toUnicode(value))
     item.id = item_id
     return xml_item
示例#6
0
def create_video_it(name,
                    url,
                    subs=None,
                    image=None,
                    infoLabels={},
                    menuItems={},
                    filename=None,
                    live=False,
                    stream=None,
                    settings=None):
    it = PVideoResolved()

    it.name = toUnicode(name)
    it.url = toUnicode(url)
    if subs is not None and subs != "":
        it.subs = toUnicode(subs)
    it.image = toUnicode(image)

    infolabel_uni = {}
    for key, value in infoLabels.iteritems():
        infolabel_uni[key] = toUnicode(value)
    if not 'Title' in infolabel_uni:
        infolabel_uni["Title"] = it.name
    it.info = infolabel_uni

    for key, value in menuItems.iteritems():
        item_name = decode_string(key)
        thumb = None
        if isinstance(value, dict):
            params = value
            thumb = None
        if isinstance(value, list):
            thumb = value[0]
            params = value[1]
        it.add_context_menu_item(item_name, thumb=thumb, params=params)

    if filename is not None:
        it.filename = toUnicode(filename)

    it.live = live

    if stream is not None and isinstance(Stream):
        it.add_stream(stream)

    if settings is not None:
        if not isinstance(settings, dict):
            log.error("Cannot load settings %s class, it has to be dict class",
                      settings.__class__.__name__)
        else:
            if 'user-agent' not in settings:
                settings['user-agent'] = ""
            if 'extra-headers' not in settings:
                settings['extra-headers'] = {}
            log.debug("Settings: %s", settings)
            it.settings = settings
    it.resolved = True

    return it
示例#7
0
def create_video_it(name, url, subs=None, image=None, infoLabels={}, menuItems={}, filename=None, live=False, stream=None, settings=None):
    it = PVideoResolved()

    it.name = toUnicode(name)
    it.url = toUnicode(url)
    if subs is not None and subs != "":
        it.subs = toUnicode(subs)
    it.image = toUnicode(image)

    infolabel_uni = {}
    for key, value in infoLabels.iteritems():
        infolabel_uni[key] = toUnicode(value)
    if not 'Title' in infolabel_uni:
        infolabel_uni["Title"] = it.name
    it.info = infolabel_uni

    for key, value in menuItems.iteritems():
        item_name = decode_string(key)
        thumb = None
        if isinstance(value, dict):
            params = value
            thumb = None
        if isinstance(value, list):
            thumb = value[0]
            params = value[1]
        it.add_context_menu_item(item_name, thumb=thumb, params=params)

    if filename is not None:
        it.filename = toUnicode(filename)

    it.live = live

    if stream is not None and isinstance(Stream):
        it.add_stream(stream)

    if settings is not None:
        if not isinstance(settings, dict):
            log.error("Cannot load settings %s class, it has to be dict class" , settings.__class__.__name__)
        else:
            if 'user-agent' not in settings:
                settings['user-agent'] = ""
            if 'extra-headers' not in settings:
                settings['extra-headers'] = {}
            log.debug("Settings: %s", settings)
            it.settings = settings
    it.resolved = True

    return it
示例#8
0
def add_playlist(name, media_list=[]):
    playlist = PPlaylist()
    playlist.name = toUnicode(name)
    for media in media_list:
        playlist.add(media)
    GItem_lst[0].append(playlist)
示例#9
0
def add_playlist(name, media_list=[]):
    playlist = PPlaylist()
    playlist.name = toUnicode(name)
    for media in media_list:
        playlist.add(media)
    GItem_lst[0].append(playlist)