portage.update.fixdbentries(): Fix ResourceWarnings with Python 3.2.
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Thu, 16 Feb 2012 19:43:00 +0000 (20:43 +0100)
committerArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Thu, 16 Feb 2012 19:43:00 +0000 (20:43 +0100)
pym/portage/update.py

index 6d13dfc859fd5083476fd708646606235c65dfb0..34e466366e3be3709a990438c80097ffcb5e0d9a 100644 (file)
@@ -86,10 +86,11 @@ def fixdbentries(update_iter, dbdir):
        mydata = {}
        for myfile in [f for f in os.listdir(dbdir) if f not in ignored_dbentries]:
                file_path = os.path.join(dbdir, myfile)
-               mydata[myfile] = io.open(_unicode_encode(file_path,
+               with io.open(_unicode_encode(file_path,
                        encoding=_encodings['fs'], errors='strict'),
                        mode='r', encoding=_encodings['repo.content'],
-                       errors='replace').read()
+                       errors='replace') as f:
+                       mydata[myfile] = f.read()
        updated_items = update_dbentries(update_iter, mydata)
        for myfile, mycontent in updated_items.items():
                file_path = os.path.join(dbdir, myfile)