( imp | 2013. 08. 19., h – 00:33 )

Hasonlóan néz ki a kimenete, mint a 'cal -ym' -nek:


#!/usr/bin/python
from calendar import day_abbr, month_name, monthrange
from datetime import date, datetime, timedelta


start=date(2013,8,18)
cycle='bb..rr'
year=datetime.today().year


def colorize(d,n,t):
    col=colors[cycle[(d-1+n)%len(cycle)]]
    if t: col+=colors['reverse']
    return col+("%2d"%d)+neutral
    

colors={ '.': '\x1b[0m', 'b': '\x1b[34;1m', 'r': '\x1b[31;1m', 'reverse': '\x1b[7m' }
neutral=colors['.']
offset=(date(year,1,1)-start).days
dnames=' '.join([d[:2] for d in day_abbr])
today=datetime.today().date()

M=[]
for month in range(1,13):
    first,days=monthrange(year, month)
    pad=['  ']*(42-days)
    mname=month_name[month].center(20)
    D=pad[:first]+[colorize(d,offset,date(year,month,d)==today) for d in range(1,days+1)]+pad[first:]
    L=[mname,dnames]+[' '.join(D[i*7:i*7+7]) for i in range(6)]
    M.append(L)
    offset+=days

print str(year).center(66)
print ''
for i in range(4):
    R=M[i*3:i*3+3]
    for line in range(8):
        print '   '.join([R[j][line] for j in range(3)])