Giter VIP home page Giter VIP logo

Comments (4)

craigbarratt avatar craigbarratt commented on May 17, 2024

Ah - I didn't think of that, since I overloaded @time_trigger with no arguments to handle the startup/reload case.

Here's a quick fix. Just have a 2nd function that handles the startup/reload trigger, and call the same function:

@time_trigger
def set_daytime_on_startup():
   set_daytime()

You could add a function argument so your function can tell the difference between startup and a time trigger.

I'll plan on adding a "startup" time-spec option to @time_trigger so it can be used alongside the other time specifications.

Note also that you could collapse your four hour-based arguments into one using cron:

@time_trigger("cron(0 8,10,18,21 * * *)", "once(sunrise)", "once(sunset)")

BTW, I just released a new version that supports Jupyter, making it much easier to write, debug and test code and logic. It's way easier to use that than saving / reload.

Cheers.

from pyscript.

fleXible avatar fleXible commented on May 17, 2024

Thanks for the quick reply. I am already knee-deep in jupyter and debugpy debugger looking at the inner workings of your component.

I was thinking of using a second function with a seperate trigger, but wanted to be sure, there was no easier way.
By the way, similar problem quickly arises, when different event type/expression combinations are needed.

You're right regarding the cron notation but I prefer having each definition separate.

To make processing of multiple time_triggers / trigger types easier in the called function, I propose for @time_trigger:

  • trigger_type is always set to time
  • add keyword argument time_spec set to the datetime of the definition responsible and maybe None for startup/reload

from pyscript.

craigbarratt avatar craigbarratt commented on May 17, 2024

Good suggestions. I'll add them to my todo list.

from pyscript.

craigbarratt avatar craigbarratt commented on May 17, 2024

"startup" is now a valid @time_trigger argument with commit 59a5461. I ended up using trigger_time as the datetime for the trigger time that caused the trigger.

from pyscript.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.