The usual
diff --git a/Lib/dos-8x3/mimetype.py b/Lib/dos-8x3/mimetype.py
index b35d0ff..3d6510e 100644
--- a/Lib/dos-8x3/mimetype.py
+++ b/Lib/dos-8x3/mimetype.py
@@ -25,6 +25,7 @@
 
 import string
 import posixpath
+import urllib
 
 knownfiles = [
     "/usr/local/etc/httpd/conf/mime.types",
@@ -53,6 +54,26 @@
     """
     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])
diff --git a/Lib/dos-8x3/py_compi.py b/Lib/dos-8x3/py_compi.py
index a6d03d7..e1d0d70 100755
--- a/Lib/dos-8x3/py_compi.py
+++ b/Lib/dos-8x3/py_compi.py
@@ -44,7 +44,7 @@
     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()