Update firmware WHENCE file parsing

All File fields now describe just one file, which may be followed by
other related fields.  Never flush the file details immediately.

For some File fields, there are now multiple following Source fields.
Collect them in a list.

svn path=/dists/trunk/linux-2.6/; revision=18432
This commit is contained in:
Ben Hutchings 2011-12-29 18:28:04 +00:00
parent ea83f47603
commit f838ecc2de
1 changed files with 6 additions and 11 deletions

View File

@ -24,7 +24,7 @@ class FirmwareWhence(list):
licence = None
binary = None
desc = None
source = None
source = []
version = None
for line in file:
@ -49,7 +49,7 @@ class FirmwareWhence(list):
files[binary] = FirmwareFile(binary, desc, source, version)
binary = None
desc = None
source = None
source = []
version = None
continue
@ -62,18 +62,13 @@ class FirmwareWhence(list):
if keyword == 'Driver':
driver = value.split(' ')[0].lower()
elif keyword == 'File':
match = re.match(r'(\S+)\s+--\s+(.*)', value)
if match:
binary = match.group(1)
desc = match.group(2)
else:
for binary in value.strip().split():
files[binary] = FirmwareFile(binary)
binary = None
match = re.match(r'(\S+)(?:\s+--\s+(.*))?', value)
binary = match.group(1)
desc = match.group(2)
elif keyword in ['Info', 'Version']:
version = value
elif keyword == 'Source':
source = value
source.append(value)
else:
licence = value
elif licence is not None: