Example #1
0
def print_month(month=datetime.date.today().month,
                year=datetime.date.today().year,
                today=datetime.date.today()):
    """returns a single month calendar, current date highlighted,
       much like cal(1) or python calendar.prmonth
    """
    khal = ''
    mycal = calendar.Calendar(0)  # 0: week starts on monday
    month_name = calendar.month_name[month] + ' ' + str(year)
    khal = month_name.center(20) + '\n'
    khal = khal + bstring('Mo Tu We Th Fr Sa Su') + '\n'
    for mday, wday in mycal.itermonthdays2(year, month):
        if mday == 0:
            mday = ''
        elif mday == today.day and month == today.month and year == today.year:
            mday = rstring(str(mday).rjust(2))
        khal = khal + str(mday).rjust(2) + ' '
        if wday % 7 == 6:
            khal = khal + '\n'
    khal = khal + '\n'
    return khal
Example #2
0
def print_month(month=datetime.date.today().month,
                year=datetime.date.today().year,
                today=datetime.date.today()):
    """returns a single month calendar, current date highlighted,
       much like cal(1) or python calendar.prmonth
    """
    khal = ''
    mycal = calendar.Calendar(0)  # 0: week starts on monday
    month_name = calendar.month_name[month] + ' ' + str(year)
    khal = month_name.center(20) + '\n'
    khal = khal + bstring('Mo Tu We Th Fr Sa Su') + '\n'
    for mday, wday in mycal.itermonthdays2(year, month):
        if mday == 0:
            mday = ''
        elif mday == today.day and month == today.month and year == today.year:
            mday = rstring(str(mday).rjust(2))
        khal = khal + str(mday).rjust(2) + ' '
        if wday % 7 == 6:
            khal = khal + '\n'
    khal = khal + '\n'
    return khal
Example #3
0
def str_week(week, today):
    """returns a string representing one week,
    if for day == today colour is reversed

    :param week: list of 6 datetime.date objects (one week)
    :type day: list()
    :param today: the date of today
    :type today: datetime.date
    :return: string, which if printed on terminal appears to have length 20,
             but may contain ascii escape sequences

    :rtype: str
    """
    strweek = ''
    for day in week:
        if day == today:
            day = rstring(str(day.day).rjust(2))
        else:
            day = str(day.day).rjust(2)
        strweek = strweek + day + ' '
    return strweek
Example #4
0
def str_week(week, today):
    """returns a string representing one week,
    if for day == today colour is reversed

    :param week: list of 6 datetime.date objects (one week)
    :type day: list()
    :param today: the date of today
    :type today: datetime.date
    :return: string, which if printed on terminal appears to have length 20,
             but may contain ascii escape sequences

    :rtype: str
    """
    strweek = ''
    for day in week:
        if day == today:
            day = rstring(str(day.day).rjust(2))
        else:
            day = str(day.day).rjust(2)
        strweek = strweek + day + ' '
    return strweek