]> code.ossystems Code Review - openembedded-core.git/commitdiff
Drop a couple usages of readlines
authorChris Larson <chris_larson@mentor.com>
Fri, 18 Jun 2010 14:56:55 +0000 (07:56 -0700)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 2 Jul 2010 14:41:37 +0000 (15:41 +0100)
(Bitbake rev: 40925230781ddd550bf21d90714c5349f9240a51)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/ui/crumbs/buildmanager.py
bitbake/lib/bb/ui/puccho.py

index b5a4dae0dea7c75106b200fc0d27e683aca3ced4..e858d75e4cfbd6d1904eafede8ab2b9b6ea3a4ac 100644 (file)
@@ -76,31 +76,30 @@ class BuildConfiguration:
     # file format.
     @staticmethod
     def load_from_file (filename):
-        f = open (filename, "r")
 
         conf = BuildConfiguration()
-        for line in f.readlines():
-            data = line.split (";")[1]
-            if (line.startswith ("metadata-url;")):
-                conf.metadata_url = data.strip()
-                continue
-            if (line.startswith ("url;")):
-                conf.urls += [data.strip()]
-                continue
-            if (line.startswith ("extra-url;")):
-                conf.extra_urls += [data.strip()]
-                continue
-            if (line.startswith ("machine;")):
-                conf.machine = data.strip()
-                continue
-            if (line.startswith ("distribution;")):
-                conf.distro = data.strip()
-                continue
-            if (line.startswith ("image;")):
-                conf.image = data.strip()
-                continue
+        with open(filename, "r") as f:
+            for line in f:
+                data = line.split (";")[1]
+                if (line.startswith ("metadata-url;")):
+                    conf.metadata_url = data.strip()
+                    continue
+                if (line.startswith ("url;")):
+                    conf.urls += [data.strip()]
+                    continue
+                if (line.startswith ("extra-url;")):
+                    conf.extra_urls += [data.strip()]
+                    continue
+                if (line.startswith ("machine;")):
+                    conf.machine = data.strip()
+                    continue
+                if (line.startswith ("distribution;")):
+                    conf.distro = data.strip()
+                    continue
+                if (line.startswith ("image;")):
+                    conf.image = data.strip()
+                    continue
 
-        f.close ()
         return conf
 
     # Serialise to a file. This is part of the build process and we use this
index 2ac025303efb7b5930ad4615bf4c1444ad77ffcd..a627fc803f25a786bdfa9a68baab6d87321500c4 100644 (file)
@@ -24,6 +24,7 @@ import gtk.glade
 import threading
 import urllib2
 import os
+import contextlib
 
 from bb.ui.crumbs.buildmanager import BuildManager, BuildConfiguration
 from bb.ui.crumbs.buildmanager import BuildManagerTreeView
@@ -77,20 +78,19 @@ class MetaDataLoader(gobject.GObject):
         def run (self):
             result = {}
             try:
-                f = urllib2.urlopen (self.url)
-
-                # Parse the metadata format. The format is....
-                # <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|...
-                for line in f.readlines():
-                    components = line.split(";")
-                    if (len (components) < 4):
-                        raise MetaDataLoader.LoaderThread.LoaderImportException
-                    machine = components[0]
-                    distros = components[1].split("|")
-                    images = components[2].split("|")
-                    urls = components[3].split("|")
-
-                    result[machine] = (distros, images, urls)
+                with contextlib.closing (urllib2.urlopen (self.url)) as f:
+                    # Parse the metadata format. The format is....
+                    # <machine>;<default distro>|<distro>...;<default image>|<image>...;<type##url>|...
+                    for line in f:
+                        components = line.split(";")
+                        if (len (components) < 4):
+                            raise MetaDataLoader.LoaderThread.LoaderImportException
+                        machine = components[0]
+                        distros = components[1].split("|")
+                        images = components[2].split("|")
+                        urls = components[3].split("|")
+
+                        result[machine] = (distros, images, urls)
 
                 # Create an object representing this *potential*
                 # configuration. It can become concrete if the machine, distro