Exemplo n.º 1
0
	def __init__(self, args = None):
		iNetwork = resourcemanager.getResource("iNetwork")
		self.adapters = iNetwork.getAdapterList()

		self.bool_options = ("inotify", "enable_tivo", "strict_dlna")
		self.hostname = HardwareInfo().get_device_name()
		if len(config.plugins.minidlna.media_dirs.value) == 0 and config.plugins.minidlna.share_videodirs.value:
			config.plugins.minidlna.media_dirs.value = config.movielist.videodirs.value

		self._config = {
			"port" : config.plugins.minidlna.port,
			"network_interface" : config.plugins.minidlna.network_interface,
			"media_dir" : config.plugins.minidlna.media_dirs,
			"friendly_name" : config.plugins.minidlna.friendly_name,
			"db_dir" : config.plugins.minidlna.db_dir,
			"log_dir" : config.plugins.minidlna.log_dir,
			"album_art_names" : config.plugins.minidlna.album_art_names,
			"inotify" : config.plugins.minidlna.inotify,
			"enable_tivo" : config.plugins.minidlna.enable_tivo,
			"strict_dlna" : config.plugins.minidlna.strict_dlna,
			"serial" : config.plugins.minidlna.serial,
			"model_number" : config.plugins.minidlna.model_number,
			"root_container" : config.plugins.minidlna.root_container,
		}

		self._init = StartStopDaemon(self.DAEMON, self.DAEMON_TITLE, pidfile=self.PID_FILE)
		self._init.onCommandFinished.append(self._onStartStopCommandFinished)
		self.onActionFinished = []

		harddiskmanager.delayed_device_Notifier.append(self._onDeviceNotifier)
Exemplo n.º 2
0
def autostart(reason, **kwargs):
    if reason == 0:
        resourcemanager.addResource("Hotplug", Hotplug())
    elif reason == 1:
        hotplug = resourcemanager.getResource("Hotplug")
        if hotplug:
            resourcemanager.removeResource("Hotplug")
            hotplug.release()
Exemplo n.º 3
0
def autostart(reason, **kwargs):
	if reason == 0:
		resourcemanager.addResource("Hotplug", Hotplug())
	elif reason == 1:
		hotplug = resourcemanager.getResource("Hotplug")
		if hotplug:
			resourcemanager.removeResource("Hotplug")
			hotplug.release()
Exemplo n.º 4
0
def onOnlineChanged(isOnline):
    cp = resourcemanager.getResource("UPnPControlPoint")
    if not cp:
        return
    if isOnline:
        cp.start()
    else:
        cp.shutdown()
Exemplo n.º 5
0
def onOnlineChanged(isOnline):
	cp = resourcemanager.getResource("UPnPControlPoint")
	if not cp:
		return
	if isOnline:
		cp.start()
	else:
		cp.shutdown()
Exemplo n.º 6
0
def restartMediaServer(name, uuid, **kwargs):
    cp = resourcemanager.getResource("UPnPControlPoint")
    if cp:
        removeUPnPDevice(uuid, cp)
        return cp.registerServer(DreamboxMediaStore,
                                 name=name,
                                 uuid=uuid,
                                 **kwargs)
    return None
Exemplo n.º 7
0
def start(reason, **kwargs):
	global instance
	session = kwargs.get('session', None)
	if session and reason == 0:
		cp = resourcemanager.getResource("UPnPControlPoint")
		if cp:
			instance = cp.registerRenderer(UPnPMediaRenderer, session=session, player=ExtendedPlayer(session))
	else:
		if instance != None:
			instance.unregister()
Exemplo n.º 8
0
def start(reason, **kwargs):
	global instance
	session = kwargs.get('session', None)
	if session and reason == 0:
		cp = resourcemanager.getResource("UPnPControlPoint")
		if cp:
			instance = cp.registerServer(DreamboxServiceStore, name=_("%s (TV & Radio)" %(HardwareInfo().get_device_name())))
	else:
		if instance != None:
			instance.unregister()
Exemplo n.º 9
0
def restartMediaRenderer(session, player, name, uuid, **kwargs):
    cp = resourcemanager.getResource("UPnPControlPoint")
    if cp:
        removeUPnPDevice(uuid, cp)
        return cp.registerRenderer(UPnPMediaRenderer,
                                   session=session,
                                   player=player,
                                   name=name,
                                   uuid=uuid,
                                   **kwargs)
    return None
Exemplo n.º 10
0
	def __init__(self, session):
		Screen.__init__(self, session)

		self["EnigmaVersion"] = StaticText("Enigma2: " + about.getEnigmaVersionString())
		self["ImageVersion"] = StaticText("Image: " + about.getImageVersionString())

		self["TunerHeader"] = StaticText(_("Detected NIMs:"))

		fp_version = getFPVersion()
		if fp_version is None:
			fp_version = ""
		else:
			fp_version = _("Frontprocessor version: %d") % fp_version

		self["FPVersion"] = StaticText(fp_version)

		nims = nimmanager.nimList()
		for count in (0, 1, 2, 3):
			if count < len(nims):
				self["Tuner" + str(count)] = StaticText(nims[count])
			else:
				self["Tuner" + str(count)] = StaticText("")

		self["HDDHeader"] = StaticText(_("Detected HDD:"))
		hddlist = harddiskmanager.HDDList()
		hdd = hddlist and hddlist[0][1] or None
		if hdd is not None and hdd.model() != "":
			self["hddA"] = StaticText(_("%s\n(%s, %d MB free)") % (hdd.model(), hdd.capacity(),hdd.free()))
		else:
			self["hddA"] = StaticText(_("none"))

		self["IPHeader"] = StaticText(_("Current IP Address:"))
		iNetwork = resourcemanager.getResource("iNetwork")
		ifaces = iNetwork.getConfiguredAdapters()
		convertIP = lambda l: "%s.%s.%s.%s" % tuple(l) if l and len(l) == 4 else "0.0.0.0"
		ipA = _("none")
		if len(ifaces) > 0:
			iface = ifaces[0]
			ip = iNetwork.getAdapterAttribute(iface, "ip")
			name = iNetwork.getFriendlyAdapterName(iface)
			if ip != None:
				ipA = "%s (%s)" %(convertIP(ip), name)
		self["ipA"] = StaticText(ipA)

		self["actions"] = ActionMap(["SetupActions", "ColorActions"],
			{
				"cancel": self.close,
				"ok": self.close,
				"green": self.showTranslationInfo
			})
Exemplo n.º 11
0
	def __init__(self):
		self.controlPoint = resourcemanager.getResource("UPnPControlPoint")
		assert self.controlPoint is not None

		self._currentClient = None
		self._idHistory = []
		self._currentID = -1
		self._requestedID = -1

		self.onListReady = []
		self.list = []

		self.onMediaServerDetected = []
		self.onMediaServerRemoved  = []

		self.controlPoint.onMediaServerDetected.append(self._onMediaServerDetected)
		self.controlPoint.onMediaServerRemoved.append(self._onMediaServerRemoved)
Exemplo n.º 12
0
	def __init__(self, session):
		Screen.__init__(self, session)
		self._cp = resourcemanager.getResource("UPnPControlPoint")
		assert self._cp is not None

		self.setTitle(_("Sat>IP Tuner Overview"))
		self["list"] = MenuList([], enableWrapAround=True)
		self["tunerActions"] = ActionMap(["OkCancelActions"],
		{
			"ok": self._ok,
			"cancel": self._close,
		}, -2)

		self._devices = []
		self._reload()

		self._cp.onSatIpServerDetected.append(self._reload)
		self._cp.onSatIpServerRemoved.append(self._reload)
		self.onClose.append(self.__onClose)
Exemplo n.º 13
0
	def __init__(self, session):
		Screen.__init__(self, session)
		self._cp = resourcemanager.getResource("UPnPControlPoint")
		assert self._cp is not None

		self.setTitle(_("Sat>IP Tuner Overview"))
		self["list"] = MenuList([], enableWrapAround=True)
		self["tunerActions"] = ActionMap(["OkCancelActions"],
		{
			"ok": self._ok,
			"cancel": self._close,
		}, -2)

		self._devices = []
		self._reload()

		self._cp.onSatIpServerDetected.append(self._reload)
		self._cp.onSatIpServerRemoved.append(self._reload)
		self.onClose.append(self.__onClose)
Exemplo n.º 14
0
def upnp_start(reason, **kwargs):
    if reason == 0:
        try:
            from Plugins.Extensions.WebInterface import webif
            if config.plugins.Webinterface.enabled.value and (
                    config.plugins.Webinterface.http.enabled.value
                    or config.plugins.Webinterface.https.enabled.value):
                cp = resourcemanager.getResource("UPnPControlPoint")
                if cp:
                    cp.registerDevice(DreamboxUpnpDevice(cp.coherence))
        except:
            pass
        if config.plugins.mediaserver.enabled.value:
            restartMediaServer(
                config.plugins.mediaserver.name.value,
                getUUID(config.plugins.mediaserver.uuid),
                manufacturer='dreambox',
                manufacturer_url='http://www.dreambox.de',
                model_description='Dreambox MediaServer',
                model_name=config.plugins.mediaserver.name.value,
                model_number=config.plugins.mediaserver.name.value,
                model_url='http://www.dreambox.de')
Exemplo n.º 15
0
    def __init__(self):
        self.controlPoint = resourcemanager.getResource("UPnPControlPoint")
        assert self.controlPoint is not None

        self._currentClient = None
        self._idHistory = []
        self._currentID = -1
        self._requestedID = -1

        self.onListReady = []
        self.onBrowseError = []
        self.list = []

        self.onMediaServerDetected = []
        self.onMediaServerRemoved = []

        self.currentPath = ""

        self.controlPoint.onMediaServerDetected.append(
            self._onMediaServerDetected)
        self.controlPoint.onMediaServerRemoved.append(
            self._onMediaServerRemoved)
Exemplo n.º 16
0
def restartMediaRenderer(session, player, name, uuid):
	cp = resourcemanager.getResource("UPnPControlPoint")
	if cp:
		removeUPnPDevice(uuid, cp)
		return cp.registerRenderer(UPnPMediaRenderer, session=session, player=player, name=name, uuid=uuid)
	return None
Exemplo n.º 17
0
from Screens.Screen import Screen
from Screens.MessageBox import MessageBox
from Components.ActionMap import NumberActionMap
from Components.Pixmap import Pixmap
from Components.FileList import FileList
from Plugins.Plugin import PluginDescriptor
from Components.ResourceManager import resourcemanager

EarlyTest = resourcemanager.getResource("EarlyTest")


class Test(Screen):
    skin = """
		<screen position="100,100" size="550,400" title="Test" >
			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
			<widget name="list" position="10,0" size="190,250" scrollbarMode="showOnDemand" />
			<widget name="pixmap" position="200,0" size="190,250" />
		</screen>"""

    def __init__(self, session, args=None):
        self.skin = Test.skin
        Screen.__init__(self, session)

        self["list"] = FileList("/",
                                matchingPattern="^.*\.(png|avi|mp3|mpeg|ts)")
        self["pixmap"] = Pixmap()

        #self["text"] = Input("1234", maxSize=True, type=Input.NUMBER)

        self["actions"] = NumberActionMap(
            ["WizardActions", "InputActions"],
Exemplo n.º 18
0
config.misc.startwizard.shownimconfig = ConfigBoolean(default = True)
config.misc.startwizard.doservicescan = ConfigBoolean(default = True)
config.misc.languageselected = ConfigBoolean(default = True)

emptyWizardList = []

# empty classes if the plugins are not present for not being forced to use dynamic inheritance
# we need a generator function here since multiple inheritance of the same class is not allowed in python
def makeEmptyWizard():
	global emptyWizardList
	class EmptyWizard(object):
		pass
	emptyWizardList.append(EmptyWizard)
	return EmptyWizard

NetworkWizardNew = resourcemanager.getResource("NetworkWizard.NetworkWizardNew", makeEmptyWizard())
VideoWizard = resourcemanager.getResource("videomode.videowizard", makeEmptyWizard())

class StartWizard(NetworkWizardNew, VideoWizard, DefaultSatLists, LanguageSelection, Rc):
	def __init__(self, session, silent = True, showSteps = False, neededTag = None):
		self.xmlfile = ["startwizard.xml", "defaultsatlists.xml"]
		DefaultWizard.__init__(self, session, silent, showSteps, neededTag = "services", default = True)
		WizardLanguage.__init__(self, session, showSteps = False, showMulticontentList = True)
		Rc.__init__(self)

		self["wizard"] = Pixmap()

		# needed for LanguageSelection
		self.png_cache = { }

		self["button_green"] = Boolean(False)
Exemplo n.º 19
0
def removeUPnPDevice(uuid, cp=None):
    if not cp:
        cp = resourcemanager.getResource("UPnPControlPoint")
    if cp:
        return cp.removeDevice(uuid)
    return False
Exemplo n.º 20
0
from Components.ResourceManager import resourcemanager
NetworkAdapterSelection = resourcemanager.getResource("NetworkAdapterSelection")
AdapterSetup = resourcemanager.getResource("AdapterSetup")
Exemplo n.º 21
0
emptyWizardList = []


# empty classes if the plugins are not present for not being forced to use dynamic inheritance
# we need a generator function here since multiple inheritance of the same class is not allowed in python
def makeEmptyWizard():
    global emptyWizardList

    class EmptyWizard(object):
        pass

    emptyWizardList.append(EmptyWizard)
    return EmptyWizard


NetworkWizardNew = resourcemanager.getResource(
    "NetworkWizard.NetworkWizardNew", makeEmptyWizard())
VideoWizard = resourcemanager.getResource("videomode.videowizard",
                                          makeEmptyWizard())
InputDeviceWizardBase = resourcemanager.getResource(
    "InputDeviceWizard.InputDeviceWizardBase", makeEmptyWizard())


class StartWizard(InputDeviceWizardBase, NetworkWizardNew, VideoWizard,
                  DefaultSatLists, LanguageSelection, Rc):
    def __init__(self, session, silent=True, showSteps=False, neededTag=None):
        self.xmlfile = ["startwizard.xml", "defaultsatlists.xml"]
        DefaultWizard.__init__(self,
                               session,
                               silent,
                               showSteps,
                               neededTag="services",
Exemplo n.º 22
0
from enigma import eEnv, eConsoleAppContainer, eTimer

from Components.config import config, ConfigYesNo, ConfigEnableDisable, ConfigText, ConfigInteger, ConfigSubList, ConfigLocations, ConfigSubsection, ConfigSelection, ConfigDirectory, getConfigListEntry
from Components.ActionMap import ActionMap
from Components.ConfigList import ConfigListScreen
from Components.Harddisk import harddiskmanager
from Components.Sources.StaticText import StaticText
from Components.ResourceManager import resourcemanager
from Plugins.Plugin import PluginDescriptor
from Screens.MessageBox import MessageBox
from Screens.Screen import Screen
from Tools.HardwareInfo import HardwareInfo
from os import path as os_path

iNetwork = resourcemanager.getResource("iNetwork")

def onUnMountNotifier(action, mountpoint):
	if action == harddiskmanager.EVENT_UNMOUNT:
		dlna_config.stopDaemon()
	else:
		if config.plugins.minidlna.enabled.value:
			dlna_config.startDaemon()
harddiskmanager.onUnMount_Notifier.append(onUnMountNotifier)

"""
This is a start-stop-script-like python-class
"""
class StartStopDaemon(object):
	TYPE_START = "start"
	TYPE_STOP = "stop"
Exemplo n.º 23
0
def autostart(reason, **kwargs):
	if reason == 1:
		cp = resourcemanager.getResource("UPnPControlPoint")
		if cp:
			cp.shutdown()
Exemplo n.º 24
0
from Screens.Screen import Screen
from Screens.MessageBox import MessageBox
from Components.ActionMap import NumberActionMap
from Components.Pixmap import Pixmap
from Components.FileList import FileList
from Plugins.Plugin import PluginDescriptor
from Components.ResourceManager import resourcemanager
EarlyTest = resourcemanager.getResource("EarlyTest")

class Test(Screen):
	skin = """
		<screen position="100,100" size="550,400" title="Test" >
			<!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
			<widget name="list" position="10,0" size="190,250" scrollbarMode="showOnDemand" />
			<widget name="pixmap" position="200,0" size="190,250" />
		</screen>"""
	def __init__(self, session, args = None):
		self.skin = Test.skin
		Screen.__init__(self, session)

		self["list"] = FileList("/", matchingPattern = "^.*\.(png|avi|mp3|mpeg|ts)")
		self["pixmap"] = Pixmap()

		#self["text"] = Input("1234", maxSize=True, type=Input.NUMBER)

		self["actions"] = NumberActionMap(["WizardActions", "InputActions"],
		{
			"ok": self.openTest,
			"back": self.close,
#			"left": self.keyLeft,
#			"right": self.keyRight,
Exemplo n.º 25
0
def removeUPnPDevice(uuid, cp=None):
	if not cp:
		cp = resourcemanager.getResource("UPnPControlPoint")
	if cp:
		return cp.removeDevice(uuid)
	return False
Exemplo n.º 26
0
def session_start(reason, session=None, **kwargs):
    if reason == 0 and session != None:
        cp = resourcemanager.getResource("UPnPControlPoint")
        if cp:
            cp.setSession(session)
Exemplo n.º 27
0
	def append(self, callback):
		hotplug = resourcemanager.getResource("Hotplug")
		if hotplug:
			hotplug.registerEventCallback(callback)
Exemplo n.º 28
0
emptyWizardList = []


# empty classes if the plugins are not present for not being forced to use dynamic inheritance
# we need a generator function here since multiple inheritance of the same class is not allowed in python
def makeEmptyWizard():
    global emptyWizardList

    class EmptyWizard(object):
        pass

    emptyWizardList.append(EmptyWizard)
    return EmptyWizard


NetworkWizardNew = resourcemanager.getResource(
    "NetworkWizard.NetworkWizardNew", makeEmptyWizard())
VideoWizard = resourcemanager.getResource("videomode.videowizard",
                                          makeEmptyWizard())


class StartWizard(NetworkWizardNew, VideoWizard, DefaultSatLists,
                  LanguageSelection, Rc):
    def __init__(self, session, silent=True, showSteps=False, neededTag=None):
        self.xmlfile = ["startwizard.xml", "defaultsatlists.xml"]
        DefaultWizard.__init__(self,
                               session,
                               silent,
                               showSteps,
                               neededTag="services",
                               default=True)
        WizardLanguage.__init__(self,
Exemplo n.º 29
0
	def remove(self, callback):
		hotplug = resourcemanager.getResource("Hotplug")
		if hotplug:
			hotplug.unregisterEventCallback(callback)
Exemplo n.º 30
0
 def remove(self, callback):
     hotplug = resourcemanager.getResource("Hotplug")
     if hotplug:
         hotplug.unregisterEventCallback(callback)
Exemplo n.º 31
0
def restartMediaServer(name, uuid, **kwargs):
	cp = resourcemanager.getResource("UPnPControlPoint")
	if cp:
		removeUPnPDevice(uuid, cp)
		return cp.registerServer(DreamboxMediaStore, name=name, uuid=uuid, **kwargs)
	return None
Exemplo n.º 32
0
 def append(self, callback):
     hotplug = resourcemanager.getResource("Hotplug")
     if hotplug:
         hotplug.registerEventCallback(callback)
Exemplo n.º 33
0
config.misc.startwizard.shownimconfig = ConfigBoolean(default = True)
config.misc.startwizard.doservicescan = ConfigBoolean(default = True)
config.misc.languageselected = ConfigBoolean(default = True)

emptyWizardList = []

# empty classes if the plugins are not present for not being forced to use dynamic inheritance
# we need a generator function here since multiple inheritance of the same class is not allowed in python
def makeEmptyWizard():
	global emptyWizardList
	class EmptyWizard(object):
		pass
	emptyWizardList.append(EmptyWizard)
	return EmptyWizard

NetworkWizardNew = resourcemanager.getResource("NetworkWizard.NetworkWizardNew", makeEmptyWizard())
VideoWizard = resourcemanager.getResource("videomode.videowizard", makeEmptyWizard())
InputDeviceWizardBase = resourcemanager.getResource("InputDeviceWizard.InputDeviceWizardBase", makeEmptyWizard())

class StartWizard(InputDeviceWizardBase, NetworkWizardNew, VideoWizard, DefaultSatLists, LanguageSelection, Rc):
	def __init__(self, session, silent = True, showSteps = False, neededTag = None):
		self.xmlfile = ["startwizard.xml", "defaultsatlists.xml"]
		DefaultWizard.__init__(self, session, silent, showSteps, neededTag = "services", default = True, showMulticontentList = True)
		Rc.__init__(self)

		self["wizard"] = Pixmap()

		# needed for LanguageSelection
		self.png_cache = { }

		self["button_green"] = Boolean(False)