mirror of
https://github.com/Mikaela/Limnoria.git
synced 2025-01-30 14:14:37 +01:00
Made sure to close file descriptors in debfile.
This commit is contained in:
parent
d43b1ea700
commit
28b0fdba97
@ -118,22 +118,26 @@ class Debian(callbacks.Privmsg, PeriodicFileDownloader):
|
||||
if self.usePythonZegrep:
|
||||
fd = gzip.open(self.contents)
|
||||
fd = ifilter(imap(lambda line: r.search(line), fd))
|
||||
(fd, _) = popen2.popen4(['zegrep', regexp, self.contents])
|
||||
(r, w) = popen2.popen4(['zegrep', regexp, self.contents])
|
||||
packages = []
|
||||
for line in fd:
|
||||
try:
|
||||
(filename, package) = line[:-1].split()
|
||||
if filename == 'FILE':
|
||||
# This is the last line before the actual files.
|
||||
continue
|
||||
except ValueError: # Unpack list of wrong size.
|
||||
continue # We've not gotten to the files yet.
|
||||
if r.search(filename):
|
||||
packages.extend(package.split(','))
|
||||
if len(packages) > 40:
|
||||
irc.error(msg, 'More than 40 results returned, ' \
|
||||
'please be more specific.')
|
||||
return
|
||||
try:
|
||||
for line in fd:
|
||||
try:
|
||||
(filename, package) = line[:-1].split()
|
||||
if filename == 'FILE':
|
||||
# This is the last line before the actual files.
|
||||
continue
|
||||
except ValueError: # Unpack list of wrong size.
|
||||
continue # We've not gotten to the files yet.
|
||||
if r.search(filename):
|
||||
packages.extend(package.split(','))
|
||||
if len(packages) > 40:
|
||||
irc.error(msg, 'More than 40 results returned, ' \
|
||||
'please be more specific.')
|
||||
return
|
||||
finally:
|
||||
r.close()
|
||||
w.close()
|
||||
if len(packages) == 0:
|
||||
irc.reply(msg, 'I found no packages with that file.')
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user