Fix seekable() in BZ2File and LZMAFile to check whether the underlying file supports seek().
diff --git a/Lib/lzma.py b/Lib/lzma.py
index 780c666..3786993 100644
--- a/Lib/lzma.py
+++ b/Lib/lzma.py
@@ -165,7 +165,7 @@
 
     def seekable(self):
         """Return whether the file supports seeking."""
-        return self.readable()
+        return self.readable() and self._fp.seekable()
 
     def readable(self):
         """Return whether the file was opened for reading."""
@@ -192,9 +192,12 @@
             raise io.UnsupportedOperation("File not open for writing")
 
     def _check_can_seek(self):
-        if not self.seekable():
+        if not self.readable():
             raise io.UnsupportedOperation("Seeking is only supported "
                                           "on files open for reading")
+        if not self._fp.seekable():
+            raise io.UnsupportedOperation("The underlying file object "
+                                          "does not support seeking")
 
     # Fill the readahead buffer if it is empty. Returns False on EOF.
     def _fill_buffer(self):