File: RepeatDate.rst

package info (click to toggle)
ecflow 5.15.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,868 kB
  • sloc: cpp: 269,341; python: 22,756; sh: 3,609; perl: 770; xml: 333; f90: 204; ansic: 141; makefile: 70
file content (64 lines) | stat: -rw-r--r-- 1,766 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
ecflow.RepeatDate
/////////////////


.. py:class:: RepeatDate
   :module: ecflow

   Bases: :py:class:`~Boost.Python.instance`

Allows a :term:`node` to be repeated using a yyyymmdd format

A node can only have one :term:`repeat`.
The repeat name can be referenced in :term:`trigger` expressions.
The trigger expression referencing a RepeatDate will use date arithmetic
Here (/suite/family:YMD + 1) uses date arithmetic only, the result is still an integer

   trigger /suite/family:YMD + 1 > 20190101

Constructor::

   RepeatDate(variable,start,end,delta)
      string variable:     The name of the repeat. The current date can referenced in
                           in trigger expressions using the variable name
      int start:           Start date, must have format: yyyymmdd
      int end:             End date, must have format: yyyymmdd
      int delta<optional>: default = 1, Always in days. The increment used to update the date

Exception:

- Throws a RuntimeError if start/end are not valid dates

Usage:

.. code-block:: python

   rep = RepeatDate('YMD', 20050130, 20050203 )
   rep = RepeatDate('YMD', 20050130, 20050203, 2)
   t = Task('t1',
            RepeatDate('YMD', 20050130, 20050203 ))


.. py:method:: RepeatDate.end( (RepeatDate)arg1) -> int :
   :module: ecflow

Return the end date as an integer in yyyymmdd format


.. py:method:: RepeatDate.name( (RepeatDate)arg1) -> str :
   :module: ecflow

Return the name of the repeat.


.. py:method:: RepeatDate.start( (RepeatDate)arg1) -> int :
   :module: ecflow

Return the start date as an integer in yyyymmdd format


.. py:method:: RepeatDate.step( (RepeatDate)arg1) -> int :
   :module: ecflow

Return the step increment. This is used to update the repeat, until end date is reached