o The gmtime() function can simply be:
I think there was also an error somewhere in your gmtime function
because the two produce different results.
The results are off by one hour. AFAIK my calculations are ok, unless
my mind's slipped :P
The os.time(os.date("!*t")) doesn't give the time which may be used by
the Quova API, the gmtime() and ostime() functions do. I'll research
this a bit later, I've left the gmtime() as is. I'd like to explore
lldp and lltd before the meeting.
o The name for your "const" table worries me. Can you change it to
something else that doesn't resemble a C keyword? :)
Overall I like the script. Is there a reason you didn't elect to go
with separate scripts with "subnames"
That was a good idea that I overlooked. As you may notice by the
attachments I've split the files.