Beispiel #1
0
    def start(self):
        # start resolution for the missing URI's
        for key, uri in self.services.iteritems():
            if not uri:
                if self.remote:
                    if not self.sda:
                        self.sda = ServiceDiscovery(
                            debug=self.debug)  # singleton
                        # this might cause several service-resolved callbacks per service,
                        # one per network interface
                        # the URI is the same, so just act on the first one
                        self.sda.connect('service-resolved',
                                         self.service_resolved)
                        self.sda.connect('service-removed',
                                         self.service_removed)
                    domain = 'local'
                    self.sda.add_service_type(avahi.IF_UNSPEC,
                                              avahi.PROTO_INET,
                                              "_%s._sub._machinekit._tcp" %
                                              key,
                                              domain,
                                              key=key)
                    self.emit('log', levels.DEBUG,
                              "zeroconf-resolving %s" % key)
                else:
                    # use IPC socket
                    self.emit(
                        'uri-resolved', key, "ipc://%s/%d.%s.%s" %
                        (self.dir, self.hal_instance, key, self.instance_uuid))

            else:
                # URI explicitly set
                self.emit('uri-resolved', key, uri)
Beispiel #2
0
    def factory(ws, params=None):
        parameters = {}
        data = None

        if params:
            parameters.update(params)
            if ServiceDiscoveryJuristek.PARAMETER_OAB in params and params.get(
                    ServiceDiscoveryJuristek.PARAMETER_OAB):
                data = "SELECT FROM 'INFO'.'INFO' WHERE 'TIPO_CONSULTA' = 'OAB'"

        if not data:
            data = "SELECT FROM 'INFO'.'INFO'"

        parameters.update({'data': data})
        return ServiceDiscovery(
            ws, ws.post("SELECT FROM 'JURISTEK'.'INFO'", parameters))