Apple bewaard de data van Kodi ergens anders dan Windows doet (Windows is %appdata%) MacOS bewaard het in:Zip bestand maken is gelukt maar dan zonder %appdata% te gebruiken.Ik weet ook niet waarom dit moet of is? Draai zelf hierzo met apple en hopelijk is hier op het forum iemand die me dat kan uitleggen
Dus in de Kodi map heb je deze mappen gezipt: (in 1 zip bestand)Alvast bedankt voor je reactie maar moet denk ik wat toelichten. De build is gemaakt op een schield en mbv es file explorer heb ik de map kodi copy/paste naar een usb-stick. Deze usb stick zit in de iMac en van de kodi map (5 onderdelen) heb ik een zip-file gemaakt. Kan ik met dit zip bestand de verdere stappen volgen in de tutorial?
Als die die fout weergeeft dan heb je waarschijnlijk iets verkeerds aangepast bij default.py. Kun je even jouw default.py plakken op pastebin.com en dan de link hier plaatsen? Dan kijk ik wat er fout gaat.Na heel wat pogingen verder is het me niet gelukt.........Kodi blijft de melding geven: Niet gelukt add-on te installeren van zipbestand vanwege een ongeldige structuur.
Alle stappen in de tutorial gevolgd en soms wat anders geprobeerd maar helaas......
Omdat de structuur ongeldig was nog een laatste poging ondernomen maar nu alle comprimeer stappen uitgevoerd op de shield en de andere stappen op de iMac.Gelukt!!!!
Echter gaat het bij het openen 2e foto fout. De fout melding verwijst voor meer info naar het logbestand. Deze kan ik 123 niet vinden. Keep on going
FF kijken of het gelukt is.Je moet ingelogd zijn om deze link te bekijken.
Het enige wat ik hier veranderd heb is de link van dropbox en de 0 in een 1.
import xbmc, xbmcaddon, xbmcgui, xbmcplugin,os,sys
import shutil
import urllib2,urllib
import re
import extract
import time
import downloader
import plugintools
import zipfile
import ntpath
USER_AGENT = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'
base='kodi-forum.nl'
ADDON=xbmcaddon.Addon(id='plugin.video.eigenbuild')
dialog = xbmcgui.Dialog()
VERSION = "1.0.0"
PATH = "kodi-forum.nl"
def CATEGORIES():
addDir("Mijn eigen build","https://www.dropbox.com/s/anpr6vlk6w7bxen/sliknepflixbuild1.0.zip?dl=1",1,"https://kodi-forum.nl/images/og-logo.png","https://kodi-forum.nl/images/og-logo.png","Mijn eigen build")
setView('movies', 'MAIN')
def OPEN_URL(url):
req = urllib2.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
response = urllib2.urlopen(req)
link=response.read()
response.close()
return link
def wizard(name,url,description):
path = xbmc.translatePath(os.path.join('special://home/addons','packages'))
dp = xbmcgui.DialogProgress()
dp.create("Eigen Build - www.kodi-forum.nl","Downloaden",'', 'Even Geduld A.U.B.')
lib=os.path.join(path, name+'.zip')
try:
os.remove(lib)
except:
pass
downloader.download(url, lib, dp)
addonfolder = xbmc.translatePath(os.path.join('special://','home'))
time.sleep(2)
dp.update(0,"", "Uitpakken")
print '======================================='
print addonfolder
print '======================================='
extract.all(lib,addonfolder,dp)
dialog = xbmcgui.Dialog()
dialog.ok("DOWNLOAD COMPLEET www.kodi-forum.nl", 'Je moet Kodi nu geforceerd sluiten. Klik nu op OK om Kodi nu te sluiten,', 'Sluit Kodi [COLOR=red][B]NIET[/COLOR][/B] in Kodi zelf., Als het om 1 of andere reden niet lukt om kodi af te sluiten haal dan even de stekker uit je device.')
killxbmc()
def killxbmc():
choice = xbmcgui.Dialog().yesno('Kodi geforceerd afsluiten - www.kodi-forum.nl', 'Je staat nu op het punt om Kodi af te sluiten', 'Wil je verder gaan?', nolabel='[COLOR=red][B]NEE[/COLOR][/B]',yeslabel='[COLOR=green][B]JA[/COLOR][/B]')
if choice == 0:
return
elif choice == 1:
pass
myplatform = platform()
print "Platform: " + str(myplatform)
if myplatform == 'osx': # OSX
print "############ try osx force close #################"
try: os.system('killall -9 XBMC')
except: pass
try: os.system('killall -9 Kodi')
except: pass
dialog.ok("[COLOR=red][B]WAARSCHUWING !!![/COLOR][/B]", "Als je deze waarschuwing ziet betekend het dat het geforceerd sluiten is mislukt. Sluit Kodi door de stekker uit je device te halen, [COLOR=lime]NIET[/COLOR] via Kodi zelf.",'')
elif myplatform == 'linux': #Linux
print "############ try linux force close #################"
try: os.system('killall XBMC')
except: pass
try: os.system('killall Kodi')
except: pass
try: os.system('killall -9 xbmc.bin')
except: pass
try: os.system('killall -9 kodi.bin')
except: pass
dialog.ok("[COLOR=red][B]WAARSCHUWING !!![/COLOR][/B]", "Als je deze waarschuwing ziet betekend het dat het geforceerd sluiten is mislukt. Sluit Kodi door de stekker uit je device te halen, [COLOR=lime]NIET[/COLOR] via Kodi zelf.",'')
elif myplatform == 'android': # Android
print "############ try android force close #################"
try: os.system('adb shell am force-stop org.xbmc.kodi')
except: pass
try: os.system('adb shell am force-stop org.kodi')
except: pass
try: os.system('adb shell am force-stop org.xbmc.xbmc')
except: pass
try: os.system('adb shell am force-stop org.xbmc')
except: pass
dialog.ok("[COLOR=red][B]WAARSCHUWING !!![/COLOR][/B]", "Je gebruikt nu een Android device, Je ", "[COLOR=yellow][B]MOET[/COLOR][/B] Kodi geforceerd sluiten. [COLOR=lime]NIET[/COLOR] via het Kodi menu.","Gebruik Taak Beheer of trek de stekker uit je device.")
elif myplatform == 'windows': # Windows
print "############ try windows force close #################"
try:
os.system('@ECHO off')
os.system('tskill XBMC.exe')
except: pass
try:
os.system('@ECHO off')
os.system('tskill Kodi.exe')
except: pass
try:
os.system('@ECHO off')
os.system('TASKKILL /im Kodi.exe /f')
except: pass
try:
os.system('@ECHO off')
os.system('TASKKILL /im XBMC.exe /f')
except: pass
dialog.ok("[COLOR=red][B]WAARSCHUWING !!![/COLOR][/B]", "Als je deze waarschuwing ziet betekend het dat het geforceerd sluiten is mislukt. Sluit Kodi door de pc opnieuw te starten, [COLOR=lime]NIET[/COLOR] via Kodi zelf.")
else: #ATV
print "############ try atv force close #################"
try: os.system('killall AppleTV')
except: pass
print "############ try raspbmc force close #################" #OSMC / Raspbmc
try: os.system('sudo initctl stop kodi')
except: pass
try: os.system('sudo initctl stop xbmc')
except: pass
dialog.ok("[COLOR=red][B]WAARSCHUWING !!![/COLOR][/B]", "Als je deze waarschuwing ziet betekend het dat het geforceerd sluiten is mislukt. Je ", "[COLOR=yellow][B]MOET[/COLOR][/B] Kodi geforceerd sluiten. [COLOR=lime]NIET[/COLOR] via het Kodi menu.","Android kan niet gevonden worden, Haal nu de stekker uit je device.")
def platform():
if xbmc.getCondVisibility('system.platform.android'):
return 'android'
elif xbmc.getCondVisibility('system.platform.linux'):
return 'linux'
elif xbmc.getCondVisibility('system.platform.windows'):
return 'windows'
elif xbmc.getCondVisibility('system.platform.osx'):
return 'osx'
elif xbmc.getCondVisibility('system.platform.atv2'):
return 'atv2'
elif xbmc.getCondVisibility('system.platform.ios'):
return 'ios'
def addDir(name,url,mode,iconimage,fanart,description):
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)+"&iconimage="+urllib.quote_plus(iconimage)+"&fanart="+urllib.quote_plus(fanart)+"&description="+urllib.quote_plus(description)
ok=True
liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage)
liz.setInfo( type="Video", infoLabels={ "Title": name, "Plot": description } )
liz.setProperty( "Fanart_Image", fanart )
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=False)
return ok
def get_params():
param=[]
paramstring=sys.argv[2]
if len(paramstring)>=2:
params=sys.argv[2]
cleanedparams=params.replace('?','')
if (params[len(params)-1]=='/'):
params=params[0:len(params)-2]
pairsofparams=cleanedparams.split('&')
param={}
for i in range(len(pairsofparams)):
splitparams={}
splitparams=pairsofparams[i].split('=')
if (len(splitparams))==2:
param[splitparams[0]]=splitparams[1]
return param
params=get_params()
url=None
name=None
mode=None
iconimage=None
fanart=None
description=None
try:
url=urllib.unquote_plus(params["url"])
except:
pass
try:
name=urllib.unquote_plus(params["name"])
except:
pass
try:
iconimage=urllib.unquote_plus(params["iconimage"])
except:
pass
try:
mode=int(params["mode"])
except:
pass
try:
fanart=urllib.unquote_plus(params["fanart"])
except:
pass
try:
description=urllib.unquote_plus(params["description"])
except:
pass
print str(PATH)+': '+str(VERSION)
print "Mode: "+str(mode)
print "URL: "+str(url)
print "Name: "+str(name)
print "IconImage: "+str(iconimage)
def setView(content, viewType):
# set content type so library shows more views and info
if content:
xbmcplugin.setContent(int(sys.argv[1]), content)
if ADDON.getSetting('auto-view')=='true':
xbmc.executebuiltin("Container.SetViewMode(%s)" % ADDON.getSetting(viewType) )
if mode==None or url==None or len(url)<1:
CATEGORIES()
elif mode==1:
wizard(name,url,description)
xbmcplugin.endOfDirectory(int(sys.argv[1]))
Mooie kerel ben je ,nu de problemen bij jou zijn opgelost moet deze topic op slot ... en wat moeten die andere leden dan beginnen zonder de deskundige hulp van Spinix ?Bloed....zweet....tranen . Maar het is me gelukt en tevens ook nog de mappen verwijderd zoals spooks aangaf. Het default py bestand wat even terug is besproken bevatte een compleet andere build?? Weg ermee...Wil iedereen bedanken voor het meedenken ,en deze tutorial kan ik nu wel inmiddels dromen dus mag een slotje op." Problem solved"
Als je suggesties hebt voor een nieuwe topic titel dan laat maar horen .... dat passen wij die toch kosteloos aanIdd laat slotje maar achterwege,houd spinix van de straat . Enigste suggestie die ik nog heb in dit topic,de titel van dit topic zorgt misschien voor wat verwarring . Een build maken wordt hier niet toegelicht ben ik achter gekomen
Een eindje verder staat in het verhaal dat je deze file moet downloaden.
Daar vind je de default.py file
Haha, ik heb de tutorial meteen even voor je aangepast. Hopelijk is het nu duidelijker voor mensen die om 02:00 's nachts een build willen makenThanks! Pffff soms is het beter om dit soort dingen niet om 2.00 's nachts te doen... Ik maar denken "dit" verwijst naar de dropbox link.....
Ga vnvd ff testen!