Ejemplo n.º 1
0
def create_frequency(name="freq", slug="freq", nom=1, due=1, overdue=1):
    f = models.Frequency(
        name=name, slug=slug,
        nominal_interval=nom, due_interval=due, overdue_interval=overdue
    )
    f.save()
    return f
Ejemplo n.º 2
0
    def n_weekly(self, weeks=4):
        """Generate a frequency to be performed on the specific day of month
        with a 7 day window_start and 7 day window_end"""

        rule = recurrence.Rule(freq=recurrence.WEEKLY, interval=weeks)
        return models.Frequency(
            name="%s weekly" % weeks,
            slug="%s-weekly" % weeks,
            recurrences=recurrence.Recurrence(
                rrules=[rule],
                dtstart=timezone.datetime(2012, 1, 1, tzinfo=timezone.utc),
            ),
            window_end=7,
            window_start=7,
        )
Ejemplo n.º 3
0
    def day_of_month(self, day=1):
        """Generate a frequency to be performed on the specific day of month
        with a 7 day window_start and 7 day window_end"""

        rule = recurrence.Rule(freq=recurrence.MONTHLY, bymonthday=day)
        return models.Frequency(
            name="Day of Month",
            slug="day-of-month",
            recurrences=recurrence.Recurrence(
                rrules=[rule],
                dtstart=timezone.datetime(2012, 1, 1, tzinfo=timezone.utc),
            ),
            window_end=7,
            window_start=7,
        )
Ejemplo n.º 4
0
 def mwf(self):
     """Generate a MWF frequency with a 0 day window_start and 1 day window_end"""
     rule = recurrence.Rule(
         freq=recurrence.WEEKLY,
         byday=[recurrence.MO, recurrence.WE, recurrence.FR],
     )
     return models.Frequency(
         name="MWF",
         slug="mwf",
         recurrences=recurrence.Recurrence(
             rrules=[rule],
             dtstart=timezone.datetime(2012, 1, 1, tzinfo=timezone.utc),
         ),
         window_start=0,
         window_end=1,
     )
Ejemplo n.º 5
0
 def wed(self):
     """Generate a Wed frequency with a 1 day window_start and 1 day window_end"""
     rule = recurrence.Rule(
         freq=recurrence.WEEKLY,
         byday=[recurrence.WE],
     )
     return models.Frequency(
         name="Wed",
         slug="wed",
         recurrences=recurrence.Recurrence(
             rrules=[rule],
             dtstart=timezone.datetime(2012, 1, 1, tzinfo=timezone.utc),
         ),
         window_start=1,
         window_end=1,
     )
Ejemplo n.º 6
0
def create_frequency(name=None, slug=None, interval=1, window_end=1, save=True):
    if name is None or slug is None:
        name = 'frequency_%04d' % get_next_id(models.Frequency.objects.order_by('id').last())
        slug = name

    rule = recurrence.Rule(freq=recurrence.DAILY, interval=interval)

    f = models.Frequency(
        name=name,
        slug=slug,
        recurrences=recurrence.Recurrence(
            rrules=[rule],
            dtstart=timezone.get_current_timezone().localize(timezone.datetime(2012, 1, 1)),
        ),
        window_start=None,
        window_end=window_end,
    )
    if save:
        f.save()
    return f