mirror of
https://github.com/python/cpython.git
synced 2025-11-13 15:40:05 +00:00
The usual
This commit is contained in:
parent
f3dcafecd3
commit
d54fb7ae9b
2 changed files with 22 additions and 1 deletions
|
|
@ -25,6 +25,7 @@ read_mime_types(file) -- parse one file, return a dictionary or None
|
||||||
|
|
||||||
import string
|
import string
|
||||||
import posixpath
|
import posixpath
|
||||||
|
import urllib
|
||||||
|
|
||||||
knownfiles = [
|
knownfiles = [
|
||||||
"/usr/local/etc/httpd/conf/mime.types",
|
"/usr/local/etc/httpd/conf/mime.types",
|
||||||
|
|
@ -53,6 +54,26 @@ def guess_type(url):
|
||||||
"""
|
"""
|
||||||
if not inited:
|
if not inited:
|
||||||
init()
|
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)
|
base, ext = posixpath.splitext(url)
|
||||||
while suffix_map.has_key(ext):
|
while suffix_map.has_key(ext):
|
||||||
base, ext = posixpath.splitext(base + suffix_map[ext])
|
base, ext = posixpath.splitext(base + suffix_map[ext])
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ def compile(file, cfile=None, dfile=None):
|
||||||
import os, marshal, __builtin__
|
import os, marshal, __builtin__
|
||||||
f = open(file)
|
f = open(file)
|
||||||
try:
|
try:
|
||||||
timestamp = os.fstat(file.fileno())
|
timestamp = long(os.fstat(f.fileno())[8])
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
timestamp = long(os.stat(file)[8])
|
timestamp = long(os.stat(file)[8])
|
||||||
codestring = f.read()
|
codestring = f.read()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue