def __init__(self, *args, **kwargs):

        if not "stream" in kwargs:
            raise ValueError("missing stream_class argument")

        if not "transport" in kwargs:
            raise ValueError("missing transport argument")

        self.stream_class = kwargs["stream"]
        self.transport_class = kwargs["transport"]
        self.transport_kwargs = kwargs["transport_kwargs"]
        self.pupy_srv = kwargs["pupy_srv"]

        self.igd_mapping = False
        self.igd = None

        if 'igd' in kwargs:
            self.igd = kwargs['igd']
            del kwargs['igd']

        ping = self.pupy_srv.config.get('pupyd', 'ping')
        self.ping = ping and ping not in (
            '0', '-1', 'N', 'n', 'false', 'False', 'no', 'No'
        )

        if self.ping:
            try:
                self.ping_interval = int(ping)
            except:
                self.ping_interval = 2

            self.ping_timeout = self.pupy_srv.config.get('pupyd', 'ping_interval')
        else:
            self.ping_interval = None
            self.ping_timeout = None

        del kwargs["stream"]
        del kwargs["transport"]
        del kwargs["transport_kwargs"]
        del kwargs["pupy_srv"]

        ThreadedServer.__init__(self, *args, **kwargs)

        if not self.igd:
            try:
                self.igd = IGDClient()
            except UPNPError as e:
                pass

        if self.igd and self.igd.available:
            try:
                self.igd.AddPortMapping(self.port, 'TCP', self.port)
                self.igd_mapping = True
            except UPNPError as e:
                self.logger.warn(
                    "Couldn't create IGD mapping: {}".format(e.description))
Esempio n. 2
0
 def __init__(self, *args, **kwargs):
     ThreadedServer.__init__(self, *args, **kwargs)
     PyNuvoServer.Send = self._send
     self.con = Serial( 'COM1', 57600 )
     self.active = True
     self.thread_receive = threading.Thread(target = self.receive)
     self.thread_receive.start()
     #Do remaining initialization on Thread so that Windows service can start quicker
     self.thread_init = threading.Thread(target = self._bg_init)
     self.thread_init.start()
Esempio n. 3
0
    def __init__(self, *args, **kwargs):

        if not "stream" in kwargs:
            raise ValueError("missing stream_class argument")

        if not "transport" in kwargs:
            raise ValueError("missing transport argument")

        self.stream_class = kwargs["stream"]
        self.transport_class = kwargs["transport"]
        self.transport_kwargs = kwargs["transport_kwargs"]

        del kwargs["stream"]
        del kwargs["transport"]
        del kwargs["transport_kwargs"]

        ThreadedServer.__init__(self, *args, **kwargs)
Esempio n. 4
0
    def __init__(self, *args, **kwargs):

        if not "stream" in kwargs:
            raise ValueError("missing stream_class argument")

        if not "transport" in kwargs:
            raise ValueError("missing transport argument")

        self.stream_class = kwargs["stream"]
        self.transport_class = kwargs["transport"]
        self.transport_kwargs = kwargs["transport_kwargs"]

        del kwargs["stream"]
        del kwargs["transport"]
        del kwargs["transport_kwargs"]

        ThreadedServer.__init__(self, *args, **kwargs)
Esempio n. 5
0
    def __init__(self, *args, **kwargs):

        if not "stream" in kwargs:
            raise ValueError("missing stream_class argument")

        if not "transport" in kwargs:
            raise ValueError("missing transport argument")

        self.stream_class = kwargs["stream"]
        self.transport_class = kwargs["transport"]
        self.transport_kwargs = kwargs["transport_kwargs"]
        self.pupy_srv = kwargs["pupy_srv"]

        self.igd_mapping = False
        self.igd = None

        if 'igd' in kwargs:
            self.igd = kwargs['igd']
            del kwargs['igd']

        del kwargs["stream"]
        del kwargs["transport"]
        del kwargs["transport_kwargs"]
        del kwargs["pupy_srv"]

        ThreadedServer.__init__(self, *args, **kwargs)

        if not self.igd:
            try:
                self.igd = IGDClient()
            except UPNPError as e:
                pass

        if self.igd and self.igd.available:
            try:
                self.igd.AddPortMapping(self.port, 'TCP', self.port)
                self.igd_mapping = True
            except UPNPError as e:
                self.logger.warn("Couldn't create IGD mapping: {}".format(
                    e.description))
Esempio n. 6
0
 def __init__(self,*args,**kwargs):
     ThreadedServer.__init__(self,*args,**kwargs)
Esempio n. 7
0
    def __init__(self, *args, **kwargs):

        if "stream" not in kwargs:
            raise ValueError("missing stream_class argument")

        if "transport" not in kwargs:
            raise ValueError("missing transport argument")

        self.stream_class = kwargs["stream"]
        self.transport_class = kwargs["transport"]
        self.transport_kwargs = kwargs["transport_kwargs"]
        self.pupy_srv = kwargs["pupy_srv"]

        self.igd_mapping = False
        self.igd = None

        if 'igd' in kwargs:
            self.igd = kwargs['igd']
            self.external = kwargs.get('external', 'igd')
            del kwargs['igd']
        else:
            self.external = kwargs.get('external', kwargs.get('hostname'))

        if 'external' in kwargs:
            del kwargs['external']

        self.external_port = kwargs.get('external_port', kwargs.get('port'))
        if 'external_port' in kwargs:
            del kwargs['external_port']

        if self.pupy_srv:
            try:
                ping = self.pupy_srv.config.get('pupyd', 'ping')
                self.ping = ping and ping not in (
                    '0', '-1', 'N', 'n', 'false', 'False', 'no', 'No'
                )
            except:
                self.ping = False
        else:
            self.ping = False

        if self.ping:
            try:
                self.ping_interval = int(ping)
            except:
                self.ping_interval = 2

            if self.pupy_srv:
                self.ping_timeout = self.pupy_srv.config.get(
                    'pupyd', 'ping_interval')
            else:
                self.ping_timeout = self.ping_interval * 10
        else:
            self.ping_interval = None
            self.ping_timeout = None

        del kwargs["stream"]
        del kwargs["transport"]
        del kwargs["transport_kwargs"]
        del kwargs["pupy_srv"]

        ThreadedServer.__init__(self, *args, **kwargs)

        if self.igd and self.igd.available and self.external != self.host:
            try:
                self.igd.AddPortMapping(
                    self.external_port,
                    'TCP',
                    self.port,
                    intIP=self.host if self.host and self.host not in (
                        '', '0.0.0.0', 'igd'
                    ) else None,
                    desc='pupy'
                )
                self.igd_mapping = True
            except UPNPError as e:
                self.logger.warn(
                    "Couldn't create IGD mapping: {}".format(e.description))
Esempio n. 8
0
 def __init__(self, *args, **kwargs):
     ThreadedServer.__init__(self, *args, **kwargs)