class Problem19(object): def __init__(self): self.cal = Calendar() def fn(self): return len([ 1 for day in [ week for year in range(1901, 2001) for month in self.cal.yeardayscalendar(year) for weeks in month for week in weeks ] if day[SUNDAY] == 1 ])
def events_source_in_year(self, request, pk, format=None): """ Lista los eventos de una source durante el año actual :param request: :param pk: :param format: :return: """ calendary = Calendar(0) today = timezone.localtime(timezone.now()) list_month_year = [] year = today.year try: events_in_year = Events.objects.filter(ID_Source=pk) except Events.DoesNotExist: return HttpResponse(status=404) calendary_year = calendary.yeardayscalendar(today.year) # Esta variable almacena la información en 4 listas de la siguiente manera: # - Primera lista: 3 meses del año (Empezando en Enero) # - Segunda lista: 1 mes completo dividido en 4-6 listas de semanas (lista que se pasa a la funcion interna # de la clase events_source_in_month) # - Tercera lista: dias del mes por semana # - Cuarta lista: dias de la semana count_month = 0 for it in calendary_year: for it_month in it: count_month += 1 dict_year = {'pk': pk, 'list_month': it_month, 'year': year, 'month': count_month, 'events_db': events_in_year} list_month_year.append(EventsInformation().events_source_in_month(request, dict_year)) result = [] count = 0 for it in list_month_year: count += 1 result.append({'month': count, 'weeks': it}) print "RESULT: ", result return JSONResponse(result)
from calendar import Calendar from Genie_to_Db import GenieTodB c = Calendar() year = 2018 for i, month in enumerate(c.yeardayscalendar(year, width=1)): for week_7 in month: for week in week_7: for date in week: if date == 0: continue else: #print(i+1, date) if (i + 1) // 10 < 1: si = '0' + str(i + 1) else: si = str(i + 1) if date // 10 < 1: sdate = '0' + str(date) else: sdate = str(date) GenieTodB(str(year)[2:] + si + sdate)