Fix Kodi Masterlock for nfs paths (requires restart)

This commit is contained in:
croneter 2019-03-26 18:00:35 +01:00
parent 8d8b631889
commit 5a8eb0db4b

View file

@ -466,6 +466,31 @@ class InitialSetup(object):
server['machineIdentifier'], server['ip'], server['port'], server['machineIdentifier'], server['ip'], server['port'],
server['scheme']) server['scheme'])
@staticmethod
def _add_sources(root, extension):
changed = False
count = 2
for source in root.findall('.//path'):
if source.text == extension:
count -= 1
if count == 0:
# sources already set
break
else:
# Missing smb:// occurences, re-add.
changed = True
for _ in range(0, count):
source = etree.SubElement(root, 'source')
etree.SubElement(
source,
'name').text = "PlexKodiConnect Masterlock Hack"
etree.SubElement(
source,
'path',
{'pathversion': "1"}).text = extension
etree.SubElement(source, 'allowsharing').text = "true"
return changed
def setup(self): def setup(self):
""" """
Initial setup. Run once upon startup. Initial setup. Run once upon startup.
@ -507,28 +532,13 @@ class InitialSetup(object):
with utils.XmlKodiSetting('sources.xml', with utils.XmlKodiSetting('sources.xml',
force_create=True, force_create=True,
top_element='sources') as xml: top_element='sources') as xml:
changed = False
for extension in ('smb://', 'nfs://'):
root = xml.set_setting(['video']) root = xml.set_setting(['video'])
count = 2 changed = self._add_sources(root, extension) or changed
for source in root.findall('.//path'): if changed:
if source.text == "smb://": xml.write_xml = True
count -= 1 reboot = True
if count == 0:
# sources already set
break
else:
# Missing smb:// occurences, re-add.
for _ in range(0, count):
source = etree.SubElement(root, 'source')
etree.SubElement(
source,
'name').text = "PlexKodiConnect Masterlock Hack"
etree.SubElement(
source,
'path',
{'pathversion': "1"}).text = "smb://"
etree.SubElement(source, 'allowsharing').text = "true"
if reboot is False:
reboot = xml.write_xml
except utils.ParseError: except utils.ParseError:
pass pass