Skip to content

Commit

Permalink
AnimationSequence.recurrence
Browse files Browse the repository at this point in the history
  • Loading branch information
intermittentnrg authored and amotl committed Apr 21, 2024
1 parent bdec896 commit 44604ac
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
9 changes: 7 additions & 2 deletions grafanimate/model.py
Expand Up @@ -6,6 +6,7 @@
from datetime import datetime, timezone
from enum import Enum
from typing import Generator, List, Optional, Union
from grafanimate.timeutil import RecurrenceInfo

from dateutil.rrule import rrule

Expand All @@ -30,7 +31,8 @@ def __init__(
self,
start: Union[datetime, int, str],
stop: Union[datetime, int, str],
every: str,
every: str = None,
recurrence: RecurrenceInfo = None,
mode: Optional[SequencingMode] = SequencingMode.WINDOW,
):

Expand All @@ -45,7 +47,10 @@ def __init__(

# Analyze `every` parameter and converge into `RecurrenceInfo`.
# From `every` (interval designator), compute frequency, interval and delta.
self.recurrence = get_freq_delta(every)
if recurrence is not None:
self.recurrence = recurrence
else:
self.recurrence = get_freq_delta(every)

self.mode = mode
self.index = None
Expand Down
6 changes: 3 additions & 3 deletions grafanimate/timeutil.py
Expand Up @@ -17,9 +17,6 @@ class RecurrenceInfo:
For feeding data to `dateutil.rrule.rrule`.
"""

# Original interval/windowing label.
every: str

# One of `rrules`s DAILY, HOURLY, ...
frequency: int

Expand All @@ -29,6 +26,9 @@ class RecurrenceInfo:
# The segment duration, expressed as `relativedelta`.
duration: relativedelta

# Original interval/windowing label.
every: str = None


@dataclasses.dataclass
class Timerange:
Expand Down

0 comments on commit 44604ac

Please sign in to comment.