3 day_name
= ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday',
6 month_name
= ['January', 'February', 'March', 'April',
7 'May', 'June', 'July', 'August',
8 'September', 'October', 'November', 'December']
10 about_message
= ['nearly', 'nearly', 'about', 'just gone', 'just gone']
12 section_name
= ['', 'five past ', 'ten past ', 'a quarter past ',
13 'twenty past ', 'twenty-five past ', 'half past ',
14 'twenty-five to ', 'twenty to ', 'a quarter to ',
15 'ten to ', 'five to ']
17 number
= [None, 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight',
18 'nine', 'ten', 'eleven']
21 assert hour
>= 0 and hour
< 24
27 return number
[hour
% 12]
30 "Cardinal integer to ordinal string."
44 def rough_time(time_in_seconds
):
45 "Convert a time (as returned by time()) to a string."
46 t
= time
.localtime(time_in_seconds
+ 150)
47 year
, month
, day
, hour
, minute
, second
, weekday
, julian
, dst
= t
49 off
= about_message
[minute
% 5]
52 hour
= (hour
+ 1) % 24
54 if minute
/ 5 == 0 and hour
!= 0 and hour
!= 12:
59 return "It's %s %s%s%s" % (about_message
[minute
% 5],
60 section_name
[minute
/ 5],
61 hour_name(hour
), o_clock
)
63 def str_time(hour
, min):
71 return '%s:%02d %s' % (h
, min, am
)