def report_month(self, num_week): """ :param num_week: :return: """ month = month.get([datetime.today().month]) type_launch = TypeLaunch.objects.filter().order_by('-cost_fixo') _line = type_launch.count() matrix = [['' for coll in range(0)] for row in range(_line + 1)] line = 0 matrix[line].append('cost month %s' %month) line += 1 for tl in type_launch: matrix[line].append(tl.type_name) line += 1 line = 0 matrix[line].append('prevision') line += 1 for tl in type_launch: matrix[line].append(tl.value_fixed) line += 1 line = 0 matrix[line].append('fixo prevision') line += 1 for tl in type_launch: if tl.cost_fixo: matrix[line].append(tl.value_fixed) else: matrix[line].append('') line += 1 dif_week = 3 #4 week report_month wn = WeekNumber() ext = Extract() while dif_week >= 0: _num_week = (num_week - dif_week) _week = wn.get_or_create(_num_week) matrix = ext.get_cost_month(matrix, _week, type_launch) dif_week -= 1 worksheet = get_worksheet(num_week, month) _range = get_range(matrix) send_week(worksheet, _range, matrix)