| 
					
				 | 
			
			
				@@ -181,7 +181,7 @@ class Store(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def get(self, ns, id): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             band, offset = self.get_index(ns)[id] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return self.io.read(band, offset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return self.io.read(band, offset, ns, id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except KeyError: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise self.DoesNotExist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -205,8 +205,8 @@ class Store(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise self.DoesNotExist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def list(self, ns, marker=None, limit=1000000): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return [key for (key, value) in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self.get_index(ns).iteritems(marker=marker, limit=limit)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return (key for (key, value) in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self.get_index(ns).iteritems(marker=marker, limit=limit)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class BandIO(object): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -259,12 +259,14 @@ class BandIO(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if not missing_ok or e.errno != errno.ENOENT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 raise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def read(self, band, offset): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def read(self, band, offset, ns, id): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fd = self.get_fd(band) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fd.seek(offset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         data = fd.read(self.header_fmt.size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        size, magic, hash, ns, id = self.header_fmt.unpack(data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size, magic, hash, ns_, id_ = self.header_fmt.unpack(data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert magic == 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert ns == ns_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert id == id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         data = fd.read(size - self.header_fmt.size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if crc32(data) & 0xffffffff != hash: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise IntegrityError('Band checksum mismatch') 
			 |