diff options
Diffstat (limited to 'bitbake-dev/lib/bb/cooker.py')
-rw-r--r-- | bitbake-dev/lib/bb/cooker.py | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/bitbake-dev/lib/bb/cooker.py b/bitbake-dev/lib/bb/cooker.py index c4d65ddad5..3c232a6ac7 100644 --- a/bitbake-dev/lib/bb/cooker.py +++ b/bitbake-dev/lib/bb/cooker.py | |||
@@ -906,7 +906,6 @@ class CookerExit(bb.event.Event): | |||
906 | def __init__(self, d): | 906 | def __init__(self, d): |
907 | bb.event.Event.__init__(self, d) | 907 | bb.event.Event.__init__(self, d) |
908 | 908 | ||
909 | |||
910 | class CookerParser: | 909 | class CookerParser: |
911 | def __init__(self, cooker, filelist, masked): | 910 | def __init__(self, cooker, filelist, masked): |
912 | # Internal data | 911 | # Internal data |
@@ -926,38 +925,40 @@ class CookerParser: | |||
926 | 925 | ||
927 | def parse_next(self): | 926 | def parse_next(self): |
928 | print "Pointer %d" % self.pointer | 927 | print "Pointer %d" % self.pointer |
929 | f = self.filelist[self.pointer] | ||
930 | cooker = self.cooker | ||
931 | 928 | ||
932 | try: | 929 | if self.pointer < len(self.filelist): |
933 | fromCache, skip = cooker.bb_cache.loadData(f, cooker.configuration.data, cooker.status) | 930 | f = self.filelist[self.pointer] |
934 | if skip: | 931 | cooker = self.cooker |
935 | self.skipped += 1 | ||
936 | bb.msg.debug(2, bb.msg.domain.Collection, "skipping %s" % f) | ||
937 | cooker.bb_cache.skip(f) | ||
938 | elif fromCache: self.cached += 1 | ||
939 | else: self.parsed += 1 | ||
940 | 932 | ||
941 | except IOError, e: | 933 | try: |
942 | self.error += 1 | 934 | fromCache, skip = cooker.bb_cache.loadData(f, cooker.configuration.data, cooker.status) |
943 | cooker.bb_cache.remove(f) | 935 | if skip: |
944 | bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e)) | 936 | self.skipped += 1 |
945 | pass | 937 | bb.msg.debug(2, bb.msg.domain.Collection, "skipping %s" % f) |
946 | except KeyboardInterrupt: | 938 | cooker.bb_cache.skip(f) |
947 | cooker.bb_cache.remove(f) | 939 | elif fromCache: self.cached += 1 |
948 | cooker.bb_cache.sync() | 940 | else: self.parsed += 1 |
949 | raise | 941 | |
950 | except Exception, e: | 942 | except IOError, e: |
951 | self.error += 1 | 943 | self.error += 1 |
952 | cooker.bb_cache.remove(f) | 944 | cooker.bb_cache.remove(f) |
953 | bb.msg.error(bb.msg.domain.Collection, "%s while parsing %s" % (e, f)) | 945 | bb.msg.error(bb.msg.domain.Collection, "opening %s: %s" % (f, e)) |
954 | except: | 946 | pass |
955 | cooker.bb_cache.remove(f) | 947 | except KeyboardInterrupt: |
956 | raise | 948 | cooker.bb_cache.remove(f) |
957 | finally: | 949 | cooker.bb_cache.sync() |
958 | bb.event.fire(bb.event.ParseProgress(cooker.configuration.event_data, self.cached, self.parsed, self.skipped, self.masked, self.error, self.total)) | 950 | raise |
951 | except Exception, e: | ||
952 | self.error += 1 | ||
953 | cooker.bb_cache.remove(f) | ||
954 | bb.msg.error(bb.msg.domain.Collection, "%s while parsing %s" % (e, f)) | ||
955 | except: | ||
956 | cooker.bb_cache.remove(f) | ||
957 | raise | ||
958 | finally: | ||
959 | bb.event.fire(bb.event.ParseProgress(cooker.configuration.event_data, self.cached, self.parsed, self.skipped, self.masked, self.error, self.total)) | ||
959 | 960 | ||
960 | self.pointer += 1 | 961 | self.pointer += 1 |
961 | 962 | ||
962 | if self.pointer >= self.total: | 963 | if self.pointer >= self.total: |
963 | cooker.bb_cache.sync() | 964 | cooker.bb_cache.sync() |