actiona icon indicating copy to clipboard operation
actiona copied to clipboard

Feature Request: Day of the Week on Time Condition

Open nions-ops opened this issue 3 years ago • 2 comments

Suggesting since currently, it only allows to select the exact date, which if ran every so often requires resetting of the date. Isn't it better to set it to a day of the week so that resetting isn't necessary?

nions-ops avatar Mar 19 '21 00:03 nions-ops

I agree that the time condition could be improved. It could allow checking for a day of the week, or a partial date (is it the 15th day of the month for instance). I'm just not sure how to provide that choice while making it intuitive though.

I'm not sure what you mean with "resetting" however.

Jmgr avatar Mar 19 '21 18:03 Jmgr

Since actiona support javascript/ecma you can use function for getting day of week to variable and then call your "this day" procedure using Variable condition. Here is working example of calling procedure for wednesday if it's wednesday today:

<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actiona" version="3.10.1" scriptVersion="1.1.0" os="GNU/Linux"/>
    <actions>
        <action name="ActionBeginProcedure" version="1.0.0"/>
        <action name="ActionMessageBox" version="1.0.0"/>
        <action name="ActionVariable" version="1.0.0"/>
        <action name="ActionVariableCondition" version="1.0.0"/>
        <action name="ActionEndProcedure" version="1.0.0"/>
    </actions>
    <parameters/>
    <resources/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionBeginProcedure" comment="show_on_wednesday">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="name">
                <subParameter name="value" code="0">show_on_wednesday</subParameter>
            </parameter>
        </action>
        <action name="ActionMessageBox" comment="It's Wednesday!">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="customIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="icon">
                <subParameter name="value" code="0">none</subParameter>
            </parameter>
            <parameter name="ifNo">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="ifYes">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="message">
                <subParameter name="value" code="0">It's Wednesday!</subParameter>
            </parameter>
            <parameter name="textMode">
                <subParameter name="value" code="0">automatic</subParameter>
            </parameter>
            <parameter name="title">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">ok</subParameter>
            </parameter>
            <parameter name="windowIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionEndProcedure">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
        </action>
        <action name="ActionVariable" comment="day_of_week">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <exception id="32" action="0" line=""/>
            <parameter name="colorValue">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="positionValue">
                <subParameter name="unit" code="0">0</subParameter>
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">string</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="1">var d = new Date();
var weekday = new Array(7);
weekday[0] = &quot;Sunday&quot;;
weekday[1] = &quot;Monday&quot;;
weekday[2] = &quot;Tuesday&quot;;
weekday[3] = &quot;Wednesday&quot;;
weekday[4] = &quot;Thursday&quot;;
weekday[5] = &quot;Friday&quot;;
weekday[6] = &quot;Saturday&quot;;

day_of_week = weekday[d.getDay()];</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">day_of_week</subParameter>
            </parameter>
        </action>
        <action name="ActionMessageBox" comment="show day_of_week" enabled="false">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="customIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="icon">
                <subParameter name="value" code="0">none</subParameter>
            </parameter>
            <parameter name="ifNo">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="ifYes">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="message">
                <subParameter name="value" code="0">$day_of_week</subParameter>
            </parameter>
            <parameter name="textMode">
                <subParameter name="value" code="0">automatic</subParameter>
            </parameter>
            <parameter name="title">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">ok</subParameter>
            </parameter>
            <parameter name="windowIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
        </action>
        <action name="ActionVariableCondition" comment="on wendesday call show_on_wednesday">
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <exception id="2" action="1" line=""/>
            <parameter name="comparison">
                <subParameter name="value" code="0">equal</subParameter>
            </parameter>
            <parameter name="ifDifferent">
                <subParameter name="action" code="0">do_nothing</subParameter>
                <subParameter name="line" code="0"></subParameter>
            </parameter>
            <parameter name="ifEqual">
                <subParameter name="action" code="0">call_procedure</subParameter>
                <subParameter name="line" code="0">show_on_wednesday</subParameter>
            </parameter>
            <parameter name="value">
                <subParameter name="value" code="0">Wednesday</subParameter>
            </parameter>
            <parameter name="variable">
                <subParameter name="value" code="0">day_of_week</subParameter>
            </parameter>
        </action>
    </script>
</scriptfile>

prudowicz avatar Mar 24 '21 20:03 prudowicz