The usual
This commit is contained in:
parent
f3dcafecd3
commit
d54fb7ae9b
|
@ -25,6 +25,7 @@ read_mime_types(file) -- parse one file, return a dictionary or None
|
|||
|
||||
import string
|
||||
import posixpath
|
||||
import urllib
|
||||
|
||||
knownfiles = [
|
||||
"/usr/local/etc/httpd/conf/mime.types",
|
||||
|
@ -53,6 +54,26 @@ def guess_type(url):
|
|||
"""
|
||||
if not inited:
|
||||
init()
|
||||
scheme, url = urllib.splittype(url)
|
||||
if scheme == 'data':
|
||||
# syntax of data URLs:
|
||||
# dataurl := "data:" [ mediatype ] [ ";base64" ] "," data
|
||||
# mediatype := [ type "/" subtype ] *( ";" parameter )
|
||||
# data := *urlchar
|
||||
# parameter := attribute "=" value
|
||||
# type/subtype defaults to "text/plain"
|
||||
comma = string.find(url, ',')
|
||||
if comma < 0:
|
||||
# bad data URL
|
||||
return None, None
|
||||
semi = string.find(url, ';', 0, comma)
|
||||
if semi >= 0:
|
||||
type = url[:semi]
|
||||
else:
|
||||
type = url[:comma]
|
||||
if '=' in type or '/' not in type:
|
||||
type = 'text/plain'
|
||||
return type, None # never compressed, so encoding is None
|
||||
base, ext = posixpath.splitext(url)
|
||||
while suffix_map.has_key(ext):
|
||||
base, ext = posixpath.splitext(base + suffix_map[ext])
|
||||
|
|
|
@ -44,7 +44,7 @@ def compile(file, cfile=None, dfile=None):
|
|||
import os, marshal, __builtin__
|
||||
f = open(file)
|
||||
try:
|
||||
timestamp = os.fstat(file.fileno())
|
||||
timestamp = long(os.fstat(f.fileno())[8])
|
||||
except AttributeError:
|
||||
timestamp = long(os.stat(file)[8])
|
||||
codestring = f.read()
|
||||
|
|
Loading…
Reference in New Issue