1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

cdx: ensure cdx file is closed when iterator is done, since cdx files

are opened per-lookup, related to #45
This commit is contained in:
Ilya Kreymer 2014-11-04 09:42:53 -08:00
parent a3b931b45e
commit 5e4b830fa7

View File

@ -28,8 +28,17 @@ class CDXFile(CDXSource):
self.filename = filename
def load_cdx(self, query):
source = open(self.filename)
return iter_range(source, query.key, query.end_key)
def do_open():
try:
source = open(self.filename)
gen = iter_range(source, query.key, query.end_key)
for line in gen:
yield line
finally:
source.close()
return do_open()
#return iter_range(do_open(), query.key, query.end_key)
def __str__(self):
return 'CDX File - ' + self.filename