Example using chat and sending messages

First we login. When you run this notebook live, you'll see a window that looks similar to:

In [1]:
calico.HTML("<img src=\"data:image/png;base64,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\"></img>")
Out[1]:
In [7]:
import time

pw = calico.PasswordWidget(description="Password:")
tw = calico.TextWidget(description="Username:")

def on_submit(obj):
    calico.Login(tw.value, pw.value)
    print("Logging in...")
    while calico.connection == None:
        time.sleep(1)
    count = 0
    while calico.connection.status != "online" and count < 10:
        print("Waiting for login, status is", calico.connection.status, "...")
        time.sleep(1)
        count += 1
    print(calico.connection.status)

pw.on_submit(on_submit)
    
cw = calico.ContainerWidget(children=[tw, pw])
cw
Logging in...
Waiting for login, status is offline ...
You are now logged in as 'dblank'.
    Calico status: online as dblank
online

Messages

After you login, you can send and receive messages:

In [8]:
calico.connection.SendData("student1", "Hello from Doug")
In [11]:
messages = calico.connection.ReceiveData()
while not messages:
        print("waiting for messages...")
        messages = calico.connection.ReceiveData()
        time.sleep(1)
print(messages)
waiting for messages...
waiting for messages...
waiting for messages...
waiting for messages...
waiting for messages...
List[List[str]]([List[str](['[email protected]/Calico', 'Hello!'])])
In [ ]: