start time:
04/09/2023, 12:18:34
It's espresso time!
plugins = [ "https://pyscript.net/latest/plugins/python/py_tutor.py" ] [[fetch]] files = ["./utils.py"]
04/09/2023, 12:18:01
View Code

index.html

    
        
                <py-config>
                    plugins = [
                      "https://pyscript.net/latest/plugins/python/py_tutor.py"
                    ]
                    [[fetch]]
                    files = ["./utils.py"]
                </py-config>
                <py-script>
                    import utils
                    display(utils.now())
                </py-script>

                <py-script>
                    from utils import now
                    import asyncio

                    async def foo():
                      while True:
                        await asyncio.sleep(1)
                        output = now()
                        Element("outputDiv2").write(output)

                        out3 = Element("outputDiv3")
                        if output[-1] in ["0", "4", "8"]:
                          out3.write("It's espresso time!")
                        else:
                          out3.clear()

                    pyscript.run_until_complete(foo())
                </py-script>
            
    

utils.py

    
        from datetime import datetime as dt


def format_date(dt_, fmt="%m/%d/%Y, %H:%M:%S"):
    return f"{dt_:{fmt}}"


def now(fmt="%m/%d/%Y, %H:%M:%S"):
    return format_date(dt.now(), fmt)


def remove_class(element, class_name):
    element.element.classList.remove(class_name)


def add_class(element, class_name):
    element.element.classList.add(class_name)