> There is some assumptions about the iteration
> through the dictionaries that I don't know if
> it holds. The only one that it's important to
> maintain the sequence is the order of the page(s)
> in the pages dictionary. I'm assuming that the
> hash will spit out the keys in numeric order.

This is the major reason I switched some of the dictionaries to lists of 2-tuples--order is automatic. If I took another pass, I'd probably make a tiny class. But I admit I'm assuming that you'll never skip section numbers.

> Is there a way to force the dictionary for loop
> to have it sorted by key?

Sure.

>>> a = {0: 'a', 1: 'b', 2: 'c', 3: 'd'}
>>> keys = a.keys()
>>> keys.sort()
>>> for key in keys:
... \tprint a[key]
... \t
a
b
c
d

> Also, the date/time stamp uses a constant of -05'00'
> as the offset from UTC - meaning -5 hours which is CST.
> Couldn't find a Python function to calculate offset
> from UTC. Know of one offhand?

If you simply want the current UTC time, use datetime.datetime.utcnow() instead of .now() -- you really should use datetime instead of the time module, as it allows a wider range of dates (the time module = time since the (system-dependent) epoch).