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)])