コード例 #1
0
def listen_to_octoprint(settings, q, on_heartbeat):
    def on_error(ws, error):
        print("!!! Error: {}".format(error))

    def on_message(ws, message_type, message_payload):

        def __deplete_queue__(q):
            while q.qsize() > 10:
                q.get_nowait()

        if type(message_payload) is not dict:
            return

        __deplete_queue__(q)
        message_payload.update({"origin": "octoprint"})
        q.put(json.dumps(message_payload))

    if "init_client" in dir(octoprint_client): # OctoPrint <= 1.3.2
        octoprint_client.init_client(settings)
        socket = octoprint_client.connect_socket(on_error=on_error,
                                             on_heartbeat=on_heartbeat,
                                             on_message=on_message)
    else:
        host = settings.get(["server", "host"])
        host = host if host != "0.0.0.0" else "127.0.0.1"
        port = settings.getInt(["server", "port"])
        apikey = settings.get(["api", "key"])
        baseurl = octoprint_client.build_base_url(host=host, port=port)
        client = octoprint_client.Client(baseurl, apikey)
        client.create_socket(on_error=on_error,
                 on_heartbeat=on_heartbeat,
                 on_message=on_message)
コード例 #2
0
ファイル: client.py プロジェクト: happycupofjava/OctoPuppet
def client(ctx, apikey, host, port, httpuser, httppass, https, prefix):
    """Basic API client."""
    try:
        if not host or not port or not apikey:
            settings = init_settings(
                get_ctx_obj_option(ctx, "basedir", None),
                get_ctx_obj_option(ctx, "configfile", None))

        if not host:
            host = settings.get(["server", "host"])
            host = host if host != "0.0.0.0" else "127.0.0.1"
        if not port:
            port = settings.getInt(["server", "port"])

        if not apikey:
            apikey = settings.get(["api", "key"])

        baseurl = octoprint_client.build_base_url(https=https,
                                                  httpuser=httpuser,
                                                  httppass=httppass,
                                                  host=host,
                                                  port=port,
                                                  prefix=prefix)

        ctx.obj.client = octoprint_client.Client(baseurl, apikey)
    except FatalStartupError as e:
        click.echo(e.message, err=True)
        click.echo("There was a fatal error initializing the client.",
                   err=True)
        ctx.exit(-1)
コード例 #3
0
def create_client(settings=None,
                  apikey=None,
                  host=None,
                  port=None,
                  httpuser=None,
                  httppass=None,
                  https=False,
                  prefix=None):
    assert (host is not None or settings is not None)
    assert (port is not None or settings is not None)
    assert (apikey is not None or settings is not None)

    if not host:
        host = settings.get(["server", "host"])
        host = host if host != "0.0.0.0" else "127.0.0.1"
    if not port:
        port = settings.getInt(["server", "port"])

    if not apikey:
        apikey = settings.get(["api", "key"])

    baseurl = octoprint_client.build_base_url(https=https,
                                              httpuser=httpuser,
                                              httppass=httppass,
                                              host=host,
                                              port=port,
                                              prefix=prefix)

    return octoprint_client.Client(baseurl, apikey)
コード例 #4
0
ファイル: __init__.py プロジェクト: stujohnsen/printer_server
 def __init__(self, printer_id, url, x_api_key, camera_rotation,
              printer_name, printer_type, horizontal_flip, vertical_flip):
     self.printer_id = printer_id
     self.client = octoprint_client.Client("http://" + url, x_api_key)
     self.camera_rotation = camera_rotation
     self.printer_name = printer_name
     self.printer_type = printer_type
     self.horizontal_flip = horizontal_flip
     self.vertical_flip = vertical_flip
     self.socket = None
     self.is_connected = False
コード例 #5
0
    def init(self, host, port, apikey):
        Logger.info("Client: Connecting to Octoprint")
        Logger.debug("Client: Host: " + str(host))
        Logger.debug("Client: Port: " + str(port))
        Logger.debug("Client: API Key: " + str(apikey))

        self.octoprintClient = octoprint_client.Client(
            octoprint_client.build_base_url(https=None,
                                            httpuser=None,
                                            httppass=None,
                                            host=host,
                                            port=port,
                                            prefix=None), apikey)

        #self.octoprintClient.apikey = apikey
        #self.octoprintClient.baseurl = self.octoprintClient.build_base_url(https=None, httpuser=None, httppass=None, host=host, port=port, prefix=None)

        Clock.schedule_once(self.connect)
コード例 #6
0
def listen_to_octoprint(settings, q):
    def on_connect(ws):
        print(">>> Connected!")

    def on_close(ws):
        print(">>> Oh No! Connection closed! What happened?")

    def on_error(ws, error):
        print("!!! Error: {}".format(error))

    def on_heartbeat(ws):
        q.put(json.dumps({'hb': {'ipAddrs': ip_addr()}}))

    def on_message(ws, message_type, message_payload):
        def __deplete_queue__(q):
            while q.qsize() > 10:
                q.get_nowait()

        if type(message_payload) is not dict:
            return

        __deplete_queue__(q)
        q.put(json.dumps(message_payload))

    if "init_client" in dir(octoprint_client):  # OctoPrint <= 1.3.2
        octoprint_client.init_client(settings)
        socket = octoprint_client.connect_socket(on_connect=on_connect,
                                                 on_close=on_close,
                                                 on_error=on_error,
                                                 on_heartbeat=on_heartbeat,
                                                 on_message=on_message)
    else:
        host = settings.get(["server", "host"])
        host = host if host != "0.0.0.0" else "127.0.0.1"
        port = settings.getInt(["server", "port"])
        apikey = settings.get(["api", "key"])
        baseurl = octoprint_client.build_base_url(host=host, port=port)
        client = octoprint_client.Client(baseurl, apikey)
        client.create_socket(on_connect=on_connect,
                             on_close=on_close,
                             on_error=on_error,
                             on_heartbeat=on_heartbeat,
                             on_message=on_message)