コード例 #1
0
ファイル: models.py プロジェクト: lizardsystem/lizard-map
    def statistics(self, start_date, end_date):
        """From collage snippet group. Brings statistics and collage
        properties together.

        """
        adapter = self.adapter
        if adapter is None:
            return []

        # Calc periods based on aggregation period setting.
        periods = dateperiods.calc_aggregation_periods(start_date, end_date,
                                           self.aggregation_period)
        statistics = []
        for period_start_date, period_end_date in periods:
            if not self.restrict_to_month or (
                self.aggregation_period != dateperiods.MONTH) or (
                self.aggregation_period == dateperiods.MONTH and
                self.restrict_to_month == period_start_date.month):

                # Base statistics for each period.
                statistics_row = adapter.value_aggregate(
                    self.identifier,
                    {'min': None,
                     'max': None,
                     'avg': None,
                     'count_lt': self.boundary_value,
                     'count_gte': self.boundary_value,
                     'percentile': self.percentile_value},
                    start_date=period_start_date,
                    end_date=period_end_date)

                # Add name.
                if statistics_row:
                    statistics_row['name'] = self.name
                    statistics_row['period'] = dateperiods.fancy_period(
                        period_start_date, period_end_date,
                        self.aggregation_period)
                    statistics_row['boundary_value'] = self.boundary_value
                    statistics_row['percentile_value'] = self.percentile_value
                    statistics.append(statistics_row)
        return statistics
コード例 #2
0
ファイル: tests.py プロジェクト: pombredanne/lizard-map
 def test_fancy_period(self):
     start_date = datetime.datetime(1979, 5, 25, tzinfo=pytz.UTC)
     end_date = datetime.datetime(1979, 7, 15, tzinfo=pytz.UTC)
     self.assertTrue(dateperiods.fancy_period(
             start_date, end_date, dateperiods.ALL))
     self.assertTrue(dateperiods.fancy_period(
             start_date, end_date, dateperiods.YEAR))
     self.assertTrue(dateperiods.fancy_period(
             start_date, end_date, dateperiods.QUARTER))
     self.assertTrue(dateperiods.fancy_period(
             start_date, end_date, dateperiods.MONTH))
     self.assertTrue(dateperiods.fancy_period(
             start_date, end_date, dateperiods.WEEK))
     self.assertTrue(dateperiods.fancy_period(
             start_date, end_date, dateperiods.DAY))