Exemplo n.º 1
0
def period_stats(periods):
    if len(periods) < 1:
        return range(8, 20), DAYS[:5]
    min_time, max_time, dow_used = None, None, set()
    for period in periods:
        min_time = min(min_time or period.start, period.start)
        max_time = max(max_time or period.end, period.end)
        dow_used = dow_used.union(period.days_of_week)

    timerange = range(min_time.hour - 1, max_time.hour + 2)
    return list(timerange), sorted_daysofweek(dow_used)
Exemplo n.º 2
0
def period_stats(periods):
    if len(periods) < 1:
        return range(8, 20), DAYS[:5]
    min_time, max_time, dow_used = None, None, set()
    for period in periods:
        min_time = min(min_time or period.start, period.start)
        max_time = max(max_time or period.end, period.end)
        dow_used = dow_used.union(period.days_of_week)

    timerange = range(min_time.hour - 1, max_time.hour + 2)
    return list(timerange), sorted_daysofweek(dow_used)
Exemplo n.º 3
0
Arquivo: views.py Projeto: jinz/YACS
    def period_stats(self, periods):
        """Returns various statistics of the period objects provided..

        Currently only gives the minimum period time, maximium period
        time, and the days of the week all periods have.
        """
        if len(periods) < 1:
            return range(8, 20), DAYS[:5]
        min_time, max_time, dow_used = None, None, set()
        for period in periods:
            min_time = min(min_time or period.start, period.start)
            max_time = max(max_time or period.end, period.end)
            dow_used = dow_used.union(period.days_of_week)

        timerange = range(min_time.hour - 1, max_time.hour + 2)
        return timerange, sorted_daysofweek(dow_used)
Exemplo n.º 4
0
    def period_stats(self, periods):
        """Returns various statistics of the period objects provided..

        Currently only gives the minimum period time, maximium period
        time, and the days of the week all periods have.
        """
        if len(periods) < 1:
            return range(8, 20), DAYS[:5]
        min_time, max_time, dow_used = None, None, set()
        for period in periods:
            min_time = min(min_time or period.start, period.start)
            max_time = max(max_time or period.end, period.end)
            dow_used = dow_used.union(period.days_of_week)

        timerange = range(min_time.hour - 1, max_time.hour + 2)
        return timerange, sorted_daysofweek(dow_used)
Exemplo n.º 5
0
Arquivo: models.py Projeto: jinz/YACS
 def days_of_week(self):
     dows = set()
     for period in self.get_periods():
         dows.update(period.days_of_week)
     return sorted_daysofweek(dows)
Exemplo n.º 6
0
 def days_of_week(self):
     dows = set()
     for period in self.get_periods():
         dows.update(period.days_of_week)
     return sorted_daysofweek(dows)