mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +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 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…
	
	Add table
		Add a link
		
	
		Reference in a new issue