コード例 #1
0
def art(filename):
    adn = Addon('plugin.video.1channel', sys.argv)
    THEME_LIST = ['mikey1234', 'Glossy_Black']
    THEME = THEME_LIST[int(adn.get_setting('theme'))]
    THEME_PATH = os.path.join(adn.get_path(), 'art', 'themes', THEME)
    img = os.path.join(THEME_PATH, filename)
    return img
コード例 #2
0
ファイル: 1Channel_index.py プロジェクト: stowevter/1Channel
def art(filename):
    adn = Addon("plugin.video.1channel", sys.argv)
    THEME_LIST = ["mikey1234", "Glossy_Black"]
    THEME = THEME_LIST[int(adn.get_setting("theme"))]
    THEME_PATH = os.path.join(adn.get_path(), "art", "themes", THEME)
    img = os.path.join(THEME_PATH, filename)
    return img
コード例 #3
0
def art(file):
    adn = Addon('plugin.video.1channel', sys.argv)
    THEME_LIST = ['mikey1234','Glossy_Black']
    THEME = THEME_LIST[int(adn.get_setting('theme'))]
    THEME_PATH = os.path.join(adn.get_path(), 'art', 'themes', THEME)
    img = os.path.join(THEME_PATH, file)
    return img
コード例 #4
0
ファイル: common.py プロジェクト: tsahia/xbmc-israel
"""
    gozlanurlresolver XBMC Addon
    Copyright (C) 2011 t0mm0

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
"""

import os
from t0mm0.common.addon import Addon
import xbmc
import xbmcaddon
import xbmcgui
import xbmcplugin

addon = Addon('plugin.video.gozlan.me')
addon_path = addon.get_path()
plugins_path = os.path.join(addon_path, 'lib', 'gozlanurlresolver', 'plugins')
profile_path = addon.get_profile()
settings_file = os.path.join(addon_path, 'resources', 'settings.xml')
コード例 #5
0
ファイル: _common.py プロジェクト: ashikzk/mvl-one-frodo
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
'''

import os    
from t0mm0.common.addon import Addon
import xbmc
import xbmcvfs
import xbmcgui
import config

plugin_id = config.plugin_id
skin_id = config.skin_id


addon = Addon(plugin_id)
addon_path = addon.get_path()

default_path = 'special://profile/addon_data/'+plugin_id+'/'
db_path = os.path.join(xbmc.translatePath("special://database"), 'myvideolibrary')


use_remote_db = addon.get_setting('use_remote_db')
db_address = addon.get_setting('db_address')
db_port = addon.get_setting('db_port')
if db_port: db_address = '%s:%s' %(db_address,db_port)
db_user = addon.get_setting('db_user')
db_pass = addon.get_setting('db_pass')
db_name = addon.get_setting('db_name')


def make_dir(mypath, dirname):
コード例 #6
0
ファイル: rdioplugin.py プロジェクト: klaascuvelier/rdio-xbmc
import sys
import os
import inspect
import time
import random
import urllib
import xbmcplugin
import xbmcgui
from t0mm0.common.addon import Addon
import rdiocommon


ADDON_ID = 'plugin.audio.rdio'
addon = Addon(ADDON_ID, argv=sys.argv)
sys.path.append(os.path.join(addon.get_path(), 'resources', 'lib'))

from rdioxbmc import RdioApi, RdioAuthenticationException


class XbmcRdioOperation:
  _TYPE_ALBUM = 'a'
  _TYPE_ARTIST = 'r'
  _TYPE_PLAYLIST = 'p'
  _TYPE_USER = '******'
  _TYPE_TRACK = 't'
  _TYPE_ALBUM_IN_COLLECTION = 'al'
  _TYPE_ARTIST_IN_COLLECTION = 'rl'

  _PAGE_SIZE_ALBUMS = 100
  _PAGE_SIZE_HEAVY_ROTATION = 14
コード例 #7
0
ファイル: rdioplugin.py プロジェクト: highatmosray/rdio-xbmc
import os
import traceback
import inspect
import time
import urllib
import sqlite3
import xbmcplugin
import xbmcgui
from t0mm0.common.addon import Addon
import rdiocommon

from rdioradio import RdioRadio

ADDON_ID = 'plugin.audio.rdio'
addon = Addon(ADDON_ID, argv=sys.argv)
sys.path.append(os.path.join(addon.get_path(), 'resources', 'lib'))

from rdioxbmc import RdioApi, RdioAuthenticationException


class XbmcRdioOperation:
    _TYPE_ALBUM = 'a'
    _TYPE_ARTIST = 'r'
    _TYPE_PLAYLIST = 'p'
    _TYPE_USER = '******'
    _TYPE_TRACK = 't'
    _TYPE_ALBUM_IN_COLLECTION = 'al'
    _TYPE_ARTIST_IN_COLLECTION = 'rl'

    _PAGE_SIZE_ALBUMS = 100
    _PAGE_SIZE_HEAVY_ROTATION = 14
コード例 #8
0
ファイル: default.py プロジェクト: cyrus007/xbmc-urlresolver
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
'''

import os
import re
import string
import sys
from t0mm0.common.addon import Addon
from t0mm0.common.net import Net
import urlresolver

addon = Addon('plugin.video.t0mm0.test', sys.argv)
net = Net()

logo = os.path.join(addon.get_path(), 'art','logo.jpg')

base_url = 'http://tubeplus.me'

mode = addon.queries['mode']
play = addon.queries.get('play', None)

if play:
    url = addon.queries.get('url', '')
    host = addon.queries.get('host', '')
    media_id = addon.queries.get('media_id', '')
    #stream_url = urlresolver.resolve(play)
    stream_url = urlresolver.HostedMediaFile(url=url, host=host, media_id=media_id).resolve()
    addon.resolve_url(stream_url)

elif mode == 'resolver_settings':
コード例 #9
0
ファイル: default.py プロジェクト: Rogerthis/1Channel
	from sqlite3 import dbapi2 as sqlite
	print "Loading sqlite3 as DB engine"
except:
	from pysqlite2 import dbapi2 as sqlite
	print "Loading pysqlite2 as DB engine"

addon = Addon('plugin.video.1channel', sys.argv)
DB = os.path.join(xbmc.translatePath("special://database"), 'onechannelcache.db')

META_ON = addon.get_setting('use-meta') == 'true'
FANART_ON = addon.get_setting('enable-fanart') == 'true'
USE_POSTERS = addon.get_setting('use-posters') == 'true'
POSTERS_FALLBACK = addon.get_setting('posters-fallback') == 'true'
THEME_LIST = ['mikey1234','Glossy_Black']
THEME = THEME_LIST[int(addon.get_setting('theme'))]
THEME_PATH = os.path.join(addon.get_path(), 'art', 'themes', THEME)
AUTO_WATCH = addon.get_setting('auto-watch') == 'true'

AZ_DIRECTORIES = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y', 'Z']
BASE_URL = 'http://www.1channel.ch'
USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'
GENRES = ['Action', 'Adventure', 'Animation', 'Biography', 'Comedy', 
          'Crime', 'Documentary', 'Drama', 'Family', 'Fantasy', 'Game-Show', 
          'History', 'Horror', 'Japanese', 'Korean', 'Music', 'Musical', 
          'Mystery', 'Reality-TV', 'Romance', 'Sci-Fi', 'Short', 'Sport', 
          'Talk-Show', 'Thriller', 'War', 'Western', 'Zombies']

prepare_zip = False
metaget=metahandlers.MetaData(preparezip=prepare_zip)

if not os.path.isdir(addon.get_profile()):
コード例 #10
0
ファイル: default.py プロジェクト: adibbh/runningman-kodi
try:
        from sqlite3 import dbapi2 as sqlite
        print "Loading sqlite3 as DB engine"
except:
        from pysqlite2 import dbapi2 as sqlite
        print "Loading pysqlite2 as DB engine"

addon_id = 'plugin.video.dfmalaystream'
plugin = xbmcaddon.Addon(id=addon_id)
#DB = os.path.join(xbmc.translatePath("special://database"), 'dfv.db')
BASE_URL = 'http://malaystream.zapto.org'
net = Net()
addon = Addon('plugin.video.dfmalaystream', sys.argv)

###### PATHS ###########
AddonPath = addon.get_path()
IconPath = AddonPath + "/icons/"
FanartPath = AddonPath + "/icons/"

##### Queries ##########
mode = addon.queries['mode']
url = addon.queries.get('url', None)
content = addon.queries.get('content', None)
query = addon.queries.get('query', None)
startPage = addon.queries.get('startPage', None)
numOfPages = addon.queries.get('numOfPages', None)
listitem = addon.queries.get('listitem', None)
urlList = addon.queries.get('urlList', None)
section = addon.queries.get('section', None)

################################################################################# Titles #################################################################################
コード例 #11
0
ファイル: default.py プロジェクト: nagulan/codenx-xbmc-addons
try:
    import json
except ImportError:
    import simplejson as json

try:
  import StorageServer
except:
  import storageserverdummy as StorageServer

BASE_URL = "http://www.tubetamil.com/"
MOVIE_URL = "http://tamilbase.com/category/s3-movies/c159-latest-movei/"
net = Net()
addonId = 'plugin.video.oliyumoliyum'
addon = Addon( addonId, sys.argv )
addonPath = xbmc.translatePath( addon.get_path() )
resPath = os.path.join( addonPath, 'resources' )
tvxmlFile = os.path.join( resPath, 'livetv.xml' )
radioxmlFile = os.path.join( resPath, 'liveradio.xml' )
iconPath = os.path.join( resPath, 'images' )

cache = StorageServer.StorageServer( addonId )
cache.dbg = True

def getImgPath( icon ):
   icon = icon + '.png'
   imgPath = os.path.join( iconPath, icon )
   if os.path.exists( imgPath ):
      return imgPath
   else:
      return ''
コード例 #12
0
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
'''

import os
import re
import string
import sys
from t0mm0.common.addon import Addon
from t0mm0.common.net import Net
import urlresolver

addon = Addon('plugin.video.t0mm0.test', sys.argv)
net = Net()

logo = os.path.join(addon.get_path(), 'art', 'logo.jpg')

base_url = 'http://tubeplus.me'

mode = addon.queries['mode']
play = addon.queries.get('play', None)

if play:
    url = addon.queries.get('url', '')
    host = addon.queries.get('host', '')
    media_id = addon.queries.get('media_id', '')
    #stream_url = urlresolver.resolve(play)
    stream_url = urlresolver.HostedMediaFile(url=url,
                                             host=host,
                                             media_id=media_id).resolve()
    addon.resolve_url(stream_url)
コード例 #13
0
class CraftsyPlugin():
    addon = None
    net = None
    logo = None
    profile_path = None
    cookie_file = None
    base_url = None
    free_url = 'http://www.craftsy.com.edgesuite.net/'
    pay_url = 'http://cd1.craftsy.com/'

    def __init__(self):
        self.addon = Addon('plugin.video.craftsy', sys.argv)
        self.net = Net()

        self.logo = os.path.join(self.addon.get_path(), 'art','logo.jpg')

        self.profile_path = self.addon.get_profile()
        self.cookie_file = os.path.join(self.profile_path, 'craftsy.cookies')

        try:
            os.makedirs(os.path.dirname(self.cookie_file))
        except OSError:
            pass

        self.net.set_cookies(self.cookie_file)
        self.base_url = 'http://www.craftsy.com'

    def __get_image(self, url):
        fname = os.path.join(self.profile_path, md5.new(url).digest())
        print fname
        if os.path.isfile(fname):
            return fname
        return url

    def __check_link(self, url):
        if (re.match('^/', url)):
            return 'http:' + url
        return url

    def __fetch_regexp_idx(self, r, idx, default = None):
        if (r == None):
            return default
        if (len(r.groups()) < idx + 1):
            return default

        return r.groups()[idx]

    def check_login(self):
        source = self.net.http_GET(self.base_url + '/my/home?NAVIGATION_PAGE_CONTEXT_ATTR=NONE').content
        r = re.search('<title>([^<]+)</title>', source)
        title = r.groups()[0]
        
        if title == 'Welcome Back to Craftsy!':
            return False
        return True

    def __get_url(self, url):
        return self.net.http_GET(url).content.encode('utf8').replace("\n", "").replace("\r", "")

    def add_classes(self):
        source = self.__get_url(self.base_url + '/my/home?NAVIGATION_PAGE_CONTEXT_ATTR=NONE')
        source = re.sub('<div class="classCard mostRecent".*?</div>.*?</div>.*?</div>.*?</div>', '', source)
        source = re.sub('<div class="continueArea".*?</div>.*?</div>', '', source)
        # parts = re.split('<div class="classBot myClassBot">', source)
        r = re.findall('<a href="(/lecture[^\"]+)"(.*?)</a>[ \s\t]*<div class="classBot myClassBot">.*?<a href="([^"]+)"', source)
        for i in r:
            url = i[2]
            if (re.match('^/', url)):
                url = self.base_url + url
            t = re.search('<h4>([^<]+)</h4>', i[1])
            title = 'N/A'
            title = self.__fetch_regexp_idx(t, 0, 'N/A')
            img = self.base_url + '/images/craftsy/noImageTitleCard.png'
            t = re.search('<img src="([^"]+)" alt="[^"]+" onerror', i[1])
            _u = self.__fetch_regexp_idx(t, 0)
            if (_u != None):
                img = self.__check_link(_u)

            # print self.__get_image(img)
            self.addon.add_directory({'mode': 'classes', 'url': url}, {'title': title}, fanart=img, img=img)

    def __try_resolve(self, pattern, video):
        r = re.search(pattern, video)
        return self.__fetch_regexp_idx(r, 0)

    def resolve_url(self, lesson_url):
        pattern = '&([0-9]+)&(pay|free)$'
        l = re.search(pattern, lesson_url)
        lesson_id = self.__fetch_regexp_idx(l, 0)
        lesson_type = self.__fetch_regexp_idx(l, 1, 'pay')
        lesson_url = re.sub(pattern, '', lesson_url)

        q = self.addon.get_setting('quality')
        t = self.addon.get_setting('type')

        source = self.__get_url(lesson_url)

        uid = re.search('/([0-9]+)\\.html(\\?t=[0-9]*){0,1}$', lesson_url)
        url_id = self.__fetch_regexp_idx(uid, 0)
        if (url_id == None):
            return None

        r = re.search('arbitraryId = ([0-9]+),', source)
        arbitraryId = self.__fetch_regexp_idx(r, 0)
        if (arbitraryId != None):
            url_id = arbitraryId

        suffix = lesson_id + '/' + url_id + '/' + url_id + '-' + q + '.' + t
        if lesson_type == 'free':
            print "THE URL TO PLAY IS " + self.free_url + suffix
            return self.free_url + suffix
        else:
            return self.pay_url + suffix

        # r = re.search('(<video.*?</video>)', source)

        # if (len(r.groups()) == 0):
        #     return None
        # else:
        #     video = r.groups()[0]
        #     video_url = self.__try_resolve('<source src="([^"]+-' + q + '\\.' + t + ')"', video)
        #     if (video_url == None):
        #         video_url = self.__try_resolve('<source src="([^"]+-' + q + '\\.[^\\.]+)"', video)
        #         if (video_url == None):
        #             video_url = self.__try_resolve('<source src="([^"]+)"', video)

        #     return video_url


    def add_lessons(self, class_url):
        source = self.__get_url(class_url) # self.net.http_GET(class_url).content
        l = re.search('\,([0-9]+)$', class_url)
        lesson_id = self.__fetch_regexp_idx(l, 0)
        if (lesson_id == None):
            self.addon.show_error_dialog(['Could not fetch the lesson ID']);
            return None
        r = re.findall('(<tr class="classLesson.*?</tr>)', source)
        first = True
        lesson_type = 'pay'
        for i in r:
            text = i 
            el = re.search('<td class="lessonName">.*?<a href="([^"]+)">(.*?)</a>', text)
            href = self.__fetch_regexp_idx(el, 0)
            if href != None:
                href = self.__check_link(href)
                title = self.__fetch_regexp_idx(el, 1, 'N/A')
                if (first):
                    if (title.lower() == 'welcome to your free mini-class!'):
                        lesson_type = 'free'
                im = re.search('<td class="lessonImage">.*?<img src="([^"]+)"', text)
                img = self.__check_link(self.__fetch_regexp_idx(im, 0, os.path.join(self.addon.get_path(), 'art','no-img.jpg')))

                self.addon.add_video_item({'url': href + '&' + lesson_id + '&' + lesson_type}, {'title': title}, img = img, fanart = img)
            first = False

    def do_login(self):
        try:
            if self.check_login():
                return True
            data=(('email', self.addon.get_setting('username')), ('password', self.addon.get_setting('password')), ('forwardUrl', '/'))
            source = self.net.http_POST(self.base_url + '/doLogin.json?isCraftsyAjax=true', data).content
            response = JSONDecoder().decode(source)
            self.net.save_cookies(self.cookie_file)
            self.net.set_cookies(self.cookie_file)
            return response.get("success")
        except Exception as e:
            print e
            return False
コード例 #14
0
ファイル: default.py プロジェクト: DragonWin/xbmc-plugins
               'Fantasy', 'Film Noir', 'Game Show', 'History', 'Horror', 
               'Music', 'Mystical', 'News', 'Reality TV', 'Romance', 
               'Sci-Fi', 'Short', 'Sport', 'Talk Show', 'Thriller', 
               'War', 'Western' ]


addon = Addon('plugin.video.solarmovie', sys.argv)
cm = ContextMenu(addon)
net = Net()
net.set_user_agent('Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; yie9)')

base_url = 'http://www.solarmovie.eu'
mode = addon.queries['mode']
play = addon.queries.get('play', None)

solarpath = addon.get_path()
smallimage = os.path.join(xbmc.translatePath(solarpath), \
                          'art','logo_in_gold_black.jpg')

numpages = numpagesindex[addon.get_setting('numpages')]
maxlinks = int(addon.get_setting('maxlinks'))
hideadult = addon.get_setting('hideadult')
enableproxy = addon.get_setting('proxy_enable')
proxyserver = addon.get_setting('proxy_server')
proxyport = addon.get_setting('proxy_port')
proxyuser = addon.get_setting('proxy_user')
proxypass = addon.get_setting('proxy_pass')


if enableproxy == 'true':
    proxy = 'http://'
コード例 #15
0
ファイル: default.py プロジェクト: DragonWin/xbmc-urlresolver
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
'''

import re
import string
import sys
from t0mm0.common.addon import Addon
from t0mm0.common.net import Net
import urlresolver
import os,xbmc

addon = Addon('plugin.video.t0mm0.test', sys.argv)
net = Net()

logo = os.path.join(xbmc.translatePath(addon.get_path()), 'art','logo.jpg')

base_url = 'http://tubeplus.me'

mode = addon.queries['mode']
play = addon.queries.get('play', None)

if play:
    stream_url = urlresolver.resolve(play)
    addon.resolve_url(stream_url)

elif mode == 'resolver_settings':
    urlresolver.display_settings()

elif mode == 'test':
    addon.add_video_item('http://www.megaupload.com/?d=TQPQJM5H', 
コード例 #16
0
try:
    from sqlite3 import dbapi2 as sqlite
    print "Loading sqlite3 as DB engine"
except:
    from pysqlite2 import dbapi2 as sqlite
    print "Loading pysqlite2 as DB engine"

addon_id = 'plugin.video.dfmalaystream'
plugin = xbmcaddon.Addon(id=addon_id)
#DB = os.path.join(xbmc.translatePath("special://database"), 'dfv.db')
BASE_URL = 'http://selangit.org/master/sg1'
net = Net()
addon = Addon('plugin.video.dfmalaystream', sys.argv)

###### PATHS ###########
AddonPath = addon.get_path()
IconPath = AddonPath + "/icons/"
FanartPath = AddonPath + "/icons/"

##### Queries ##########
mode = addon.queries['mode']
url = addon.queries.get('url', None)
content = addon.queries.get('content', None)
query = addon.queries.get('query', None)
startPage = addon.queries.get('startPage', None)
numOfPages = addon.queries.get('numOfPages', None)
listitem = addon.queries.get('listitem', None)
urlList = addon.queries.get('urlList', None)
section = addon.queries.get('section', None)

################################################################################# Titles #################################################################################
コード例 #17
0
ファイル: default.py プロジェクト: arahuman/gersham
    try:
        from sqlite3 import dbapi2 as database
        addon.log('Loading sqlite3 as DB engine')
    except:
        from pysqlite2 import dbapi2 as database
        addon.log('pysqlite2 as DB engine')
    DB = 'sqlite'
    db_dir = os.path.join(xbmc.translatePath("special://database"),
                          addon_name + '.db')

META_ON = addon.get_setting('use-meta') == 'true'
FANART_ON = addon.get_setting('enable-fanart') == 'true'
USE_POSTERS = addon.get_setting('use-posters') == 'true'
THEME_LIST = ['mikey1234', 'Glossy_Black']
THEME = THEME_LIST[int(addon.get_setting('theme'))]
THEME_PATH = os.path.join(addon.get_path(), 'resources', 'art', 'themes',
                          THEME)
LOGO = os.path.join(addon.get_path(), 'resources', 'art', 'logo.png')
HOST = "www.bharatchannels.com"
BASE_URL = 'http://' + HOST
USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'
AZ_DIRECTORIES = [
    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
    'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
]


def init_routines():
    addon.log('Building ' + addon_name + ' Database in ' + DB)
    if DB == 'mysql':
        print DB_NAME
コード例 #18
0
ファイル: default.py プロジェクト: arahuman/gersham
            programPath, "storageserverdummy.py")
        import storageserverdummy as StorageServer

YOGI_URL = "http://tamilyogi.cc"

BASE_URL = "http://www.tubetamil.com/"
MOVIE_URL = "http://tamilbase.com/category/s3-movies/c159-latest-movei/"
MOVIE_RAJ_URL = "http://www.rajtamil.com/category/movies/"
MOVIE_GUN_MOVI = "http://tamilgun.com/categories/movies/"
EINTHUSAN = "http://www.einthusan.com/"

net = Net()
addonId = 'plugin.video.bhoomi'
addon_settings = xbmcaddon.Addon(id=addonId)
addon = Addon(addonId, sys.argv)
addonPath = xbmc.translatePath(addon.get_path())
resPath = os.path.join(addonPath, 'resources')
iconPath = os.path.join(resPath, 'images')
addon_handle = int(sys.argv[1])
base_url = sys.argv[0]
debug = True

cache = StorageServer.StorageServer(addonId)
cache.dbg = True
addonLocation = xbmc.translatePath(
    os.path.join('special://home', 'addons', addonId))

import string
digs = string.digits + string.letters

コード例 #19
0
import json
import urllib
import xbmc
import urlparse
import xbmcgui
import xbmcplugin

from t0mm0.common.addon import Addon
from t0mm0.common.net import Net
from metahandler import metahandlers
from metahandler import metacontainers

from utils import *

addon = Addon('plugin.video.waldo', sys.argv)
INDEXES_PATH   = os.path.join(addon.get_path(),'indexes')
PROVIDERS_PATH = os.path.join(addon.get_path(),'providers')

def listIndexes():
    import indexes
    for index in indexes.index_list:
        title = index.display_name
        args = {'waldo_mode':'ListIndexBrowsingOptions'}
        args['waldo_mod'] = get_index_name(index)
        args['waldo_path'] = os.path.dirname(index.__file__)
        addon.add_directory(args,   {'title':  title})
    addon.end_of_directory()

def ListIndexBrowsingOptions(index, ind_path):
    index = import_module(index, fromlist=[INDEXES_PATH, ind_path])
    options = index.get_browsing_options()