本文整理汇总了Python中xbmcaddon.Addon类的典型用法代码示例。如果您正苦于以下问题:Python Addon类的具体用法?Python Addon怎么用?Python Addon使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Addon类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: onInit
def onInit( self ):
self.getControl( 1 ).setLabel( "XBMC Intro Movie" )
try:
self.control_list = self.getControl( 6 )
self.getControl( 5 ).setNavigation( self.control_list, self.control_list, self.control_list, self.control_list )
self.getControl( 3 ).setEnabled( 0 )
self.getControl( 3 ).setVisible( 0 )
except:
self.control_list = self.getControl( 3 )
print_exc()
try: self.getControl( 5 ).setLabel( "Cancel" )
except: print_exc()
intros_dir = os.path.join( Addon.getAddonInfo( "path" ), "resources", "intros" )
previews_dir = os.path.join( Addon.getAddonInfo( "path" ), "resources", "previews" )
listitems = []
cur = Addon.getSetting( "intro" )
for intro in os.listdir( intros_dir ):
name, ext = os.path.splitext( intro )
listitem = xbmcgui.ListItem( intro, "", "DefaultVideo.png" )
if cur == intro: listitem.setProperty( "Addon.Summary", "Current Intro" )
preview = os.path.join( previews_dir, name + ".jpg" )
if xbmcvfs.exists( preview ): listitem.setIconImage( preview )
listitems.append( listitem )
listitem = xbmcgui.ListItem( "Random", "", "DefaultAddonVisualization.png" )
if cur == "Random": listitem.setProperty( "Addon.Summary", "Current Intro" )
listitems.append( listitem )
self.control_list.reset()
self.control_list.addItems( listitems )
self.setFocus( self.control_list )
示例2: install_repo
def install_repo(self, repoName, repoURL):
"""
Install a repository in XBMC
-> will need XBMC restart in order to have the new Repo taken in account by XBMC
"""
continueInstall = True
dialogYesNo = xbmcgui.Dialog()
if dialogYesNo.yesno(repoName, Language( 30100 ), Language( 30101 )):
if continueInstall:
ri = RepoInstaller()
newRepo = ri.download( repoURL )
print newRepo
if newRepo:
fp, ok = ri.install( newRepo )
print "---"
print fp, ok
xbmc.executebuiltin( 'UpdateLocalAddons' )
xbmc.sleep( 100 )
xbmc.executebuiltin( 'UpdateAddonRepos' )
xbmc.sleep( 100 )
try:
_N_ = Addon( os.path.basename( fp ) )
print "Addon %s Installed"%s_N_
ri.notification( _N_.getAddonInfo( "name" ), Language( 24065 ).encode( "utf-8" ), 5000, _N_.getAddonInfo( "icon" ) )
except:
xbmcgui.Dialog().ok( ADDON.getAddonInfo( "name" ), Language( 30007 ) + " : " + repoName, Language( 30010 ) )
self._end_of_directory( True, update=False )
示例3: createComments
def createComments(self):
comments = [
self.dom.createComment(
"Language file translated with Add-on XBMC Translator " + self.main.Addon.getAddonInfo("version")
)
]
username = self.main.Addon.getSetting("username")
if username:
comments += [self.dom.createComment("Translator: " + username)]
usermail = self.main.Addon.getSetting("usermail")
if usermail:
comments += [self.dom.createComment("Email: " + usermail)]
version_based = "version " + getInfoLabel("System.BuildVersion")
if self.main.DefaultFolderLanguage.rstrip("/") != self.main.FolderLanguage:
from xbmcaddon import Addon
# get addon version
apath = translatePath(self.main.FolderLanguage.replace("/resources", "").replace("/language", ""))
addon = Addon(os.path.basename(apath.rstrip(os.sep)))
version_based = "add-on %s version %s" % (addon.getAddonInfo("name"), addon.getAddonInfo("version"))
comments += [
self.dom.createComment("Date of translation: " + strftime("%x %X")),
self.dom.createComment("Based on english strings " + version_based),
]
refChild = self.dom.documentElement
for comment in comments:
self.dom.insertBefore(comment, refChild)
示例4: getWeatherSettings
def getWeatherSettings( loc_index="1" ):
try:
location = Addon.getSetting( 'areacode%s' % loc_index )
SetProperty( "Location", location )
for i in range( 1, 4 ):
SetProperty( "Location%i" % i, Addon.getSetting( "areacode%i" % i ) )
SetProperty( "Locations", str( i ) )
Addon.setSetting( 'currentlocation', loc_index )
except:
print_exc()
return location, loc_index
示例5: onClick
def onClick( self, controlID ):
try:
if controlID in [ 3, 6 ]:
intro = self.control_list.getSelectedItem().getLabel()
if intro: Addon.setSetting( "intro", intro )
self._close_dialog()
elif controlID == 5:
self._close_dialog()
except:
print_exc()
示例6: service
def service():
from xml.dom.minidom import parseString
has_splash = "true"
dom = None
try:
dom = parseString( open( xbmc.translatePath( "special://userdata/advancedsettings.xml" ) ).read() )
has_splash = dom.getElementsByTagName( "splash" )[ 0 ].firstChild.nodeValue
except:
print_exc()
if dom: dom.unlink()
if Addon.getSetting( "splash" ) != has_splash:
Addon.setSetting( "splash", has_splash )
示例7: compatibility
def compatibility():
from xbmcaddon import Addon
Addon = Addon( "weather.google" )
# get old settings and if exists delete data xml
if Addon.getSetting( 'risingsun_city' ) or Addon.getSetting( 'risingsun1_city' ):
icon = Addon.getAddonInfo( "icon" )
xml = Addon.getAddonInfo( 'profile' ) + 'settings.xml'
del Addon
import xbmcvfs
xbmcvfs.delete( xml )
if not xbmcvfs.exists( xml ):
#notifie user
xbmc.executebuiltin( "XBMC.Notification(Weather Google,Your settings have been renewed! Sorry!,10000,%s)" % icon )
示例8: update_service
def update_service():
# this read the settings
settings = tools.Settings()
# define the browser
browser = tools.Browser()
# Begin Service
if settings.service == "true":
if settings.time_noti > 0:
settings.dialog.notification(
settings.name_provider, "Checking Online...", settings.icon, settings.time_noti
)
quality = Addon().getSetting("quality")
sort = Addon().getSetting("sort")
url_search = "%s/api/v2/list_movies.json?limit=50&quality=%s&sort_by=%s&order_by=desc" % (
settings.url_address,
quality,
sort.lower().replace(" ", "_"),
)
settings.log(url_search)
title = []
magnet = []
for page in range(settings.pages):
if settings.time_noti > 0:
settings.dialog.notification(
settings.name_provider,
"Checking Online, Page %s..." % str(page + 1),
settings.icon,
settings.time_noti,
)
if browser.open(url_search):
data = json.loads(browser.content)
for movie in data["data"]["movies"]:
if movie.has_key("torrents"):
for torrent in movie["torrents"]:
if torrent["quality"] in quality:
title.append(movie["title_long"])
magnet.append("magnet:?xt=urn:btih:%s" % torrent["hash"])
if len(title) > 0:
tools.integration(
filename=title,
magnet=magnet,
type_list="MOVIE",
folder=settings.movie_folder,
silence=True,
name_provider=settings.name_provider,
)
else:
settings.log("[%s] >>>>>>>%s<<<<<<<" % (settings.name_provider_clean, browser.status))
settings.dialog.notification(settings.name_provider, browser.status, settings.icon, 1000)
del settings
del browser
示例9: getSettings
def getSettings( self, id="repository.xbmc.builds" ):
settings = {}
try:
from xbmcaddon import Addon
addon = Addon( id )
usetempdir = addon.getSetting( "usetempdir" ) == "true"
browsedir = addon.getSetting( "browsedir" ) == "true"
settings[ "downloadpath" ] = ( addon.getSetting( "downloadpath" ), "" )[ browsedir ]
if not usetempdir:
#browse for save dir
if not settings[ "downloadpath" ] or not os.path.exists( settings[ "downloadpath" ] ):
dpath = xbmc.translatePath( self.get_browse_dialog( heading="Recordings folder" ) )
if dpath and os.path.exists( dpath ):
settings[ "downloadpath" ] = dpath
addon.setSetting( "downloadpath", settings[ "downloadpath" ] )
else:
settings[ "downloadpath" ] = ""
settings[ "downloadinbackground" ] = addon.getSetting( "downloadinbackground" ) == "true"
settings[ "reportpercent" ] = int( "0|5|10|20|25|50|100".split( "|" )[ int( addon.getSetting( "reportpercent" ) ) ] )
PROFILE_PATH = xbmc.translatePath( addon.getAddonInfo( "profile" ) )
settings[ "iddl_data" ] = os.path.join( PROFILE_PATH, "iddl_data" )
if not os.path.exists( settings[ "iddl_data" ] ): os.makedirs( settings[ "iddl_data" ] )
except:
pass
return settings
示例10: update_service
def update_service():
# this read the settings
settings = tools.Settings()
# define the browser
browser = tools.Browser()
#Begin Service
if settings.service == 'true':
if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'Checking Online...', settings.icon, settings.time_noti)
quality = Addon().getSetting('quality')
text = '&minimum_rating=%s' % Addon().getSetting('minimum')
sort = Addon().getSetting('sort')
url_search = "%s/api/v2/list_movies.json?limit=50&quality=%s&sort_by=%s&order_by=desc" % (settings.url_address, quality, sort.lower().replace(' ', '_'))
settings.log(url_search)
title = []
magnet = []
for page in range(settings.pages):
if settings.time_noti > 0: settings.dialog.notification(settings.name_provider, 'Checking Online, Page %s...'
% str(page + 1), settings.icon, settings.time_noti)
if browser.open(url_search):
data = json.loads(browser.content)
for movie in data['data']['movies']:
if movie.has_key('torrents'):
for torrent in movie['torrents']:
if torrent['quality'] in quality:
title.append(movie['title_long'])
magnet.append('magnet:?xt=urn:btih:%s' % torrent['hash'])
if len(title) > 0:
tools.integration(filename=title, magnet=magnet, type_list='MOVIE', folder=settings.movie_folder, silence=True, name_provider=settings.name_provider)
else:
settings.log('[%s] >>>>>>>%s<<<<<<<' % (settings.name_provider_clean, browser.status))
settings.dialog.notification(settings.name_provider, browser.status, settings.icon, 1000)
del settings
del browser
示例11: createComments
def createComments(self):
version_based = "version " + xbmc.getInfoLabel("System.BuildVersion")
if self.main.DefaultFolderLanguage.rstrip("/") != self.main.FolderLanguage:
from xbmcaddon import Addon
# get addon version
apath = xbmc.translatePath(self.main.FolderLanguage.replace("/resources", "").replace("/language", ""))
addon = Addon(os.path.basename(apath.rstrip(os.sep)))
version_based = "add-on %s version %s" % (addon.getAddonInfo("name"), addon.getAddonInfo("version"))
return ET.getComments(
version_based,
self.main.Addon.getSetting("username"),
self.main.Addon.getSetting("usermail"),
self.main.Addon.getAddonInfo("version"),
)
示例12: setContainerProperties
def setContainerProperties( self ):
self.setProperty( "IsModified", ( "", "Language file has been changed!" )[ self.IsModified ] )
self.setProperty( "CurrentLanguage", self.CurrentLanguage )
self.setProperty( "FolderLanguage", self.FolderLanguage )
self.setProperty( "CurrentEnglishString", "" )
self.Addon = Addon( AddonId )
self.setProperty( "ExtraKeyboard_TopOrBottom", ( "top", "bottom" )[ int( self.Addon.getSetting( "ExtraKB" ) ) ] )
示例13: __init__
def __init__( self, *args, **kwargs ):
self.RestartXBMC_ReloadLanguage = False
self.IsModified = False
self.googleTrans = False
self.listitems = []
self.Addon = Addon( AddonId )
self._get_settings()
示例14: start_alarm
def start_alarm():
if not WEATHER_WINDOW:
return
try:
# start next time to refresh images. 60 minutes (skinner for force refresh use "CancelAlarm(moon_earth_phases,true)")
command = "RunScript(%s)" % os.path.join( Addon.getAddonInfo( "path" ), "resources", "lib", "moon_and_earth_phases.py" )
xbmc.executebuiltin( "AlarmClock(moon_earth_phases,%s,60,true)" % command )
except:
print_exc()
示例15: Main
def Main():
try:
url = sys.argv[2]
# notify user
notification(Addon.getAddonInfo("name"), url)
# launch url
launchUrl(url)
except:
print_exc()