d = cgi.parse()
-if not d:
- print 'Location: .'
+if os.environ.get('PATH_INFO'):
+ # filename has to be of the following form: %Y%m%d-%Hh%M-%Hh%M.%ext
+ filename = os.path.basename(os.environ.get('PATH_INFO'))
+ date = filename[:8]
+ start = '%s:%s' % (filename[9:11], filename[12:14])
+ end = '%s:%s' % (filename[15:17], filename[18:20])
+ ext = filename[-3:]
+
+ start = datetime.datetime.strptime('%s %s' % (date, start),
+ '%Y%m%d %H:%M')
+ end = datetime.datetime.strptime('%s %s' % (date, end),
+ '%Y%m%d %H:%M')
+elif d:
+ end = '%s:%s' % (d.get('end_hour')[0], d.get('end_min')[0])
+
+ start = datetime.datetime.strptime('%s %s:%s' % (
+ d.get('date')[0], d.get('start_hour')[0], d.get('start_min')[0]),
+ '%d/%m/%Y %H:%M')
+ end = datetime.datetime.strptime('%s %s:%s' % (
+ d.get('date')[0], d.get('end_hour')[0], d.get('end_min')[0]),
+ '%d/%m/%Y %H:%M')
+ if d.get('wav'):
+ ext = 'wav'
+ else:
+ ext = 'ogg'
+else:
+ print 'Location:', os.path.basename(__file__)
print ''
print 'Hop'
sys.exit(0)
-end = '%s:%s' % (d.get('end_hour')[0], d.get('end_min')[0])
-
-start = datetime.datetime.strptime('%s %s:%s' % (
- d.get('date')[0], d.get('start_hour')[0], d.get('start_min')[0]),
- '%d/%m/%Y %H:%M')
-end = datetime.datetime.strptime('%s %s:%s' % (
- d.get('date')[0], d.get('end_hour')[0], d.get('end_min')[0]),
- '%d/%m/%Y %H:%M')
if end < start:
end = end + datetime.timedelta(1)
def get_filenames():
path = start.strftime('%Y/%m-%b/%d-%a/')
filenames = [os.path.join(path, x) for x in os.listdir(path)]
- if end.hour < start.hour:
+ if end < start:
path = end.strftime('%Y/%m-%b/%d-%a/')
if os.path.exists(path):
filenames.extend([os.path.join(path, x) for x in os.listdir(path)])
start.strftime('%Y-%m-%d %Hh%M'),
end.strftime('%Hh%M')))
-if d.get('wav'):
- ext = 'wav'
+if ext == 'wav':
print 'Content-Type: audio/x-wav'
else:
- ext = 'ogg'
print 'Content-Type: audio/ogg'
print 'Content-Disposition: attachment; filename=%s.%s\n' % \