当前位置: 首页>>代码示例>>Python>>正文


Python Calendar.itermonthdays2方法代码示例

本文整理汇总了Python中calendar.Calendar.itermonthdays2方法的典型用法代码示例。如果您正苦于以下问题:Python Calendar.itermonthdays2方法的具体用法?Python Calendar.itermonthdays2怎么用?Python Calendar.itermonthdays2使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在calendar.Calendar的用法示例。


在下文中一共展示了Calendar.itermonthdays2方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: meetup_day

# 需要导入模块: from calendar import Calendar [as 别名]
# 或者: from calendar.Calendar import itermonthdays2 [as 别名]
def meetup_day(year, month, name, ordinal):
    
    wkday_dict = {'Monday':0, 'Tuesday':1,
                  'Wednesday':2, 'Thursday':3,
                  'Friday':4, 'Saturday':5, 
                  'Sunday':6
                  }
    wkday = wkday_dict[name]
    
    cal = Calendar()
    date_list = []
    
    for day_date, weekday in cal.itermonthdays2(year, month):
        if weekday == wkday and not day_date == 0:
            date_list.append(day_date)
    
    date_dict = {'1st':0, '2nd':1, '3rd':2, '4th':3, '5th':4}
    if ordinal in date_dict:
        day = date_list[date_dict[ordinal]]
    elif ordinal == 'teenth':
        for day_date in date_list:
            if 12 < day_date < 20:
                day = day_date
    elif ordinal == 'last':
        day = date_list[-1]
                    
    
    return date(year, month, day)
开发者ID:bryjcannon,项目名称:exercism,代码行数:30,代码来源:meetup.py

示例2: imprimir_planilla_asistencia

# 需要导入模块: from calendar import Calendar [as 别名]
# 或者: from calendar.Calendar import itermonthdays2 [as 别名]
    def imprimir_planilla_asistencia(self,ano,mes):
        ##Para la impresion de la planilla de asistencia a clase
        logging.debug("Vamos a imprimir la planilla de asistencia del mes %s del año %s"%(mes,ano))
        fichero = get_print_path('Grupos')+"/Ficha_Asistencia_Mes%s_Grupo_%s.pdf"%(mes,self.g.id)
        calendario = Calendar(0)

        conversion = dict(lunes=0,martes=1,miercoles=2,jueves=3,viernes=4,sabado=5,domingo=6)
        iter_mes = calendario.itermonthdays2(ano,mes)
        ##Comprobamos si este mes es el inicio del curso
        try:
            res = Festivo.select(AND(Festivo.q.ano==ano,Festivo.q.mes==mes,Festivo.q.inicio==True))
            inicio = res[0].dia
            logging.debug("El inicio del curso es el %s",inicio)
        except:
            ##No es el inicio, ponemos a la variable inicio a 0 así el día siempre será mayor que 0
            inicio = 0
        ##Comprobamos si este mes es el inicio del curso
        try:
            res = Festivo.select(AND(Festivo.q.ano==ano,Festivo.q.mes==mes,Festivo.q.fin==True))
            fin = res[0].dia
            logging.debug("El fin de curso es el %s",fin)
        except:
            logging.debug("No es el fin")
            ##No es el fin, ponemos a la variable fin a 31 así el día siempre será menor que 31
            fin = 31

        estiloHoja = getSampleStyleSheet()
        story = []
##        ##Vamos con la cabecera
##        banner = os.path.join(_config.get_data_path(), 'media', 'banner_eide.png')
##        img=Image(banner)
##        story.append(img)
        ##Intro
        estilo = estiloHoja['BodyText']
        cadena = "<para alignment=center><b>RELACION DE DIAS LECTIVOS DEL MES %s %s</b></para>"%(nombre_mes(mes),ano)
        story.append(Paragraph(cadena, estilo))
        story.append(Spacer(0,20))
        ##Datos del docu: alumno, grupo, profes
        cadena = "Grupo: <b>%s - %s</b>"%(self.g.id,self.g.nombre)
        story.append(Paragraph(cadena, estilo))
        cadena = "Curso: <b>%s</b>"%self.g.curso.nombre
        story.append(Paragraph(cadena, estilo))
        cadena = "Numero de alumnos: <b>%s</b>"%len(self.g.alumnos)
        story.append(Paragraph(cadena, estilo))
        story.append(Spacer(0,20))
        ##Lista de libros
        for l in self.g.curso.libros:
            cadena = "Libro: %s - %s"%(l.titulo,l.autor)+" Editorial: %s "%(l.editorial)
            story.append(Paragraph(cadena, estilo))
            cadena = "      ISBN: %s"%(l.isbn)
            story.append(Paragraph(cadena, estilo))
        story.append(Spacer(0,20))
        ##Tabla con el horario
        tabla =[['Día','Horario','Aula','Profesor']]
        for c in self.g.clases:
            tabla.append([c.dia_semana,c.horario,"%s - %s"%(c.aula.numero,c.aula.piso),"%s %s"%(c.profesor.nombre,c.profesor.apellido1)])
        t = Table(tabla)
        t.setStyle([('LINEABOVE', (0,0), (-1,0), 2, colors.black),('LINEBEFORE', (0,0), (0,-1), 2, colors.black),
            ('LINEABOVE', (0,1), (-1,-1), 0.25, colors.black),('LINEAFTER', (0,0), (-1,-1), 0.25, colors.black),
            ('LINEBELOW', (0,-1), (-1,-1), 2, colors.black),('LINEAFTER', (-1,0), (-1,-1), 2, colors.black),
            ('ALIGN', (1,1), (-1,-1), 'RIGHT')])
        story.append(t)
        story.append(Spacer(0,20))

        ##Tabla con los días
        fila = ['Num.','F. Nac.','Apellidos, Nombre','Cnf.']
        dia_old = []
        for dia in iter_mes:
            if dia[0] == 0:
                continue
            for clase in self.g.clases:
                if conversion[limpiar_tildes(clase.dia_semana).lower()] == dia[1] :
                    ##Comprobamos si no es festivo
                    res = Festivo.select(AND(Festivo.q.ano==ano,Festivo.q.mes==mes,Festivo.q.dia==dia[0],Festivo.q.inicio==False,Festivo.q.fin==False))
                    if not len(list(res)):
                        ##Comrpobamos si ya hemos añadido ese día por tener 2h
                        ##FIXME
                        if dia == dia_old:
                            debug("Ya habiamos añadido este día!")
                        ##Sino comprobamos que el día sea después del inicio y antes del fin
                        elif ( dia[0] >= inicio and dia[0] <= fin ):
                            fila.append("%i"%(dia[0]))
                        else:
                            debug("El día %s esta antes o despues del inicio del curso!"%dia[0])
                    else:
                        debug("El día %s es festivo"%dia[0])
                    dia_old = dia
        longitud = len(fila)
        relleno = longitud - 3
        tabla =[fila]
        for asis in sorted(self.g.alumnos,key= lambda a: a.alumnoID):
            a = asis.alumno
            fila_alumno = [a.id,a.fecha_nacimiento,"%s %s, %s"%(a.apellido1,a.apellido2,a.nombre),asis.confirmado]
            while not len(fila_alumno)==longitud:
                fila_alumno.append("  ")
            tabla.append(fila_alumno)
        t = Table(tabla)
        t.setStyle([('LINEABOVE', (0,0), (-1,0), 2, colors.black),('LINEBEFORE', (0,0), (0,-1), 2, colors.black),
        ('LINEABOVE', (0,1), (-1,-1), 0.25, colors.black),('LINEAFTER', (0,0), (-1,-1), 0.25, colors.black),
        ('LINEBELOW', (0,-1), (-1,-1), 2, colors.black),('LINEAFTER', (-1,0), (-1,-1), 2, colors.black),
#.........这里部分代码省略.........
开发者ID:jonlatorre,项目名称:gestionacademia,代码行数:103,代码来源:grupo_model.py

示例3: __init__

# 需要导入模块: from calendar import Calendar [as 别名]
# 或者: from calendar.Calendar import itermonthdays2 [as 别名]
class FinnishFlagDays:

    def __init__(self, year=None):

        self.calendar = Calendar()
        self.year = year or datetime.now().year

        self.official_flag_days = {
            date(self.year, 2, 28): u'Kalevalan päivä eli suomalaisen '
                                    u'kulttuurin päivä',
            date(self.year, 5, 1): u'Vappu eli suomalaisen työn päivä',
            self.getMothersOrFathersDay(month=5): u'Äitienpäivä',
            date(self.year, 6, 4): u'Puolustusvoimien lippujuhlan päivä eli '
                                   u'Suomen marsalkka C.G.E. Mannerheimin '
                                   u'syntymäpäivä',
            self.getMidsummersDay() - timedelta(1): u'Juhannusaatto, Suomen '
                                                    u'lipun päivä',
            self.getMidsummersDay(): u'Juhannuspäivä, Suomen lipun päivä',
            date(self.year, 12, 6): u'Itsenäisyyspäivä',
        }

        self.unofficial_flag_days = {
            date(self.year, 2, 5): u'J. L. Runebergin päivä',
            date(self.year, 3, 19): u'Minna Canthin eli tasa-arvon päivä',
            date(self.year, 4, 9): u'Mikael Agricolan päivä eli suomen kielen '
                                   u'päivä',
            date(self.year, 4, 27): u'Kansallinen veteraanipäivä',
            date(self.year, 5, 12): u'J. V. Snellmanin päivä eli '
                                    u'suomalaisuuden päivä',
            self.getFallenHeroesDay(): u'Kaatuneitten muistopäivä',
            date(self.year, 7, 6): u'Eino Leinon päivä eli runon ja suven '
                                   u'päivä',
            date(self.year, 10, 10): u'Aleksis Kiven päivä eli suomalaisen '
                                     u'kirjallisuuden päivä',
            date(self.year, 10, 24): u'Yhdistyneiden kansakuntien päivä',
            date(self.year, 11, 6): u'svenska dagen, ruotsalaisuuden päivä',
            self.getMothersOrFathersDay(month=11): u'Isänpäivä',
            date(self.year, 12, 8): u'Jean Sibeliuksen päivä eli suomalaisen '
                                    u'musiikin päivä',
        }

    def __call__(self, *args, **kwargs):
        all_flag_days = {}
        all_flag_days.update(self.official_flag_days)
        all_flag_days.update(self.unofficial_flag_days)
        return all_flag_days

    def getMothersOrFathersDay(self, month):
        """
        Returns mothers day for the given year. If there is no year given,
        defaults to current year.

        - Finnish mothers day is second Sunday in May.
        - Finnish fathers day is second Sunday in November.
        """

        counter = 0
        for (day, weekday) in self.calendar.itermonthdays2(self.year, month):
            if weekday == 6:
                if counter == 0:
                    counter += 1
                else:
                    return date(self.year, month, day)

    def getMidsummersDay(self):
        """
        Returns midsummerday for the given year. If there is no year given,
        defaults to current year.

        - Midsummers day is the Saturday between 20. and 26. days in June.
        """

        for (day, weekday) in self.calendar.itermonthdays2(self.year, 6):
            if day >= 20:
                if day <= 26:
                    if weekday == 5:
                        return date(self.year, 6, day)

    def getFallenHeroesDay(self):
        """
        Returns date for flagging people fallen in war.
        - Mays third Sunday.
        """

        counter = 0
        for (day, weekday) in self.calendar.itermonthdays2(self.year, 5):
            if weekday == 6:
                if counter < 2:
                    counter += 1
                else:
                    return date(self.year, 5, day)

    def sortFlagDays(self, days_dict):
        """Returns a list of tuples which contains flagdays in sorted order."""
        return sorted(days_dict.iteritems())

    def printFlagDays(self, flagdays):
        sorted_days = self.sortFlagDays(flagdays)
        for day in sorted_days:
            print "%s: %s" % (day[0].strftime('%d.%m.%Y'), day[1])
#.........这里部分代码省略.........
开发者ID:pingviini,项目名称:gae-janitorshifts,代码行数:103,代码来源:finnish_flag_days.py


注:本文中的calendar.Calendar.itermonthdays2方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。