mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-24 06:59:52 +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:
parent
a3b931b45e
commit
5e4b830fa7
@ -28,8 +28,17 @@ class CDXFile(CDXSource):
|
|||||||
self.filename = filename
|
self.filename = filename
|
||||||
|
|
||||||
def load_cdx(self, query):
|
def load_cdx(self, query):
|
||||||
source = open(self.filename)
|
def do_open():
|
||||||
return iter_range(source, query.key, query.end_key)
|
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):
|
def __str__(self):
|
||||||
return 'CDX File - ' + self.filename
|
return 'CDX File - ' + self.filename
|
||||||
|
Loading…
x
Reference in New Issue
Block a user