Here's a patch to private.py which makes it 1) return text/plain as the content type if the file ends in .txt, and 2) look for <filename>.gz if <filename> doesn't exist, and uses the gzip module to read it.
-- A.M. Kuchling http://starship.skyport.net/crew/amk/ How do you make sense of your life? Signal to noise: What's signal? What's noise? -- The dying film director in SIGNAL TO NOISE
*** private.py 1998/12/04 16:26:29 1.1 --- private.py 1998/12/04 16:48:36
*** 142,145 **** --- 142,149 ---- return path[1:]
- def content_type(path):
if path[-3:] == '.gz': path = path[:-3]
if path[-4:] == '.txt': return 'text/plain'
def main():return 'text/html'
*** 147,153 **** true_filename = os.path.join(ROOT, true_path(path) ) list_name = getListName(path) if os.path.isdir(true_filename): true_filename = true_filename + '/index.html' ! if not isAuthenticated(list_name): # Output the password form --- 151,164 ---- true_filename = os.path.join(ROOT, true_path(path) ) list_name = getListName(path) +
# If it's a directory, we have to append index.html in this script.
# We must also check for a gzipped file, because the text archives
! if (not os.path.exists(true_filename) and ! os.path.exists(true_filename + '.gz') ): ! true_filename = true_filename + '.gz' !# are usually stored in compressed form. if os.path.isdir(true_filename): true_filename = true_filename + '/index.html'
if not isAuthenticated(list_name): # Output the password form
*** 167,180 ****
print '\n\n', page % vars()
sys.exit(0)
! print 'Content-type: text/html\n'
!
! print '\n\n'
# Authorization confirmed... output the desired file
try:
! f = open(true_filename, 'r')
except IOError:
print "<H3>Archive File Not Found</H3>"
print "No file", path
else:
while (1):
data = f.read(16384)
--- 178,196 ----
print '\n\n', page % vars()
sys.exit(0)
!
# Authorization confirmed... output the desired file
try:
! if true_filename[-3:] == '.gz':
! import gzip
! f = gzip.open(true_filename, 'r')
! else:
! f = open(true_filename, 'r')
except IOError:
print 'Content-type: text/html\n'
print "<H3>Archive File Not Found</H3>" print "No file", path else:
print 'Content-type:', content_type(path), '\n' while (1): data = f.read(16384)
participants (1)
-
Andrew M. Kuchling