コード例 #1
0
ファイル: sales_mapper.py プロジェクト: KentaYamada/siphon
    def __format_calendar(self, year, month, rows):
        """ カレンダー形式のレスポンスに整形 """
        # 日曜始まり
        cl = TextCalendar(firstweekday=6)
        # 週単位での日付と曜日を取得
        weeks = cl.monthdays2calendar(year, month)
        res = []

        for week in weeks:
            week_data = []
            for day in week:
                current_date, weekday = day
                data = next(
                    (row for row in rows if row['sales_day'] == current_date),
                    None)
                is_saturday = True if weekday == self.SATURDAY else False
                is_sunday = True if weekday == self.SUNDAY else False
                sales_day = None
                total_price = None
                if data is not None:
                    sales_day = data['sales_date'].strftime('%Y-%m-%d')
                    total_price = int(data['total_price'])
                week_data.append({
                    'sales_date': current_date,
                    'sales_day': sales_day,
                    'amount': total_price,
                    'is_saturday': is_saturday,
                    'is_holiday': is_sunday,
                    'daily_sales_url': ''
                })
            res.append(week_data)
        return res