Browse Source

Tools: cleanups to generate_manifest.py

mission-4.1.18
Andrew Tridgell 6 years ago
parent
commit
e98d5094b5
  1. 34
      Tools/scripts/generate_manifest.py

34
Tools/scripts/generate_manifest.py

@ -208,12 +208,21 @@ class ManifestGenerator():
print("Error listing '%s'" % dir) print("Error listing '%s'" % dir)
return return
for platformdir in dlist: for platformdir in dlist:
if platformdir.startswith("."):
continue
some_dir = os.path.join(dir, platformdir) some_dir = os.path.join(dir, platformdir)
if not os.path.isdir(some_dir):
continue
git_version_txt = os.path.join(some_dir, "git-version.txt")
if not os.path.exists(git_version_txt):
print("No file %s" % git_version_txt, file=sys.stderr)
continue
try: try:
git_sha = self.git_sha_from_git_version( git_sha = self.git_sha_from_git_version(git_version_txt)
os.path.join(some_dir, "git-version.txt")) except Exception as ex:
except Exception: print("Failed to parse %s" % git_version_txt, ex, file=sys.stderr)
continue continue
#print(git_version_txt, git_sha)
firmware_version_file = os.path.join(some_dir, firmware_version_file = os.path.join(some_dir,
"firmware-version.txt") "firmware-version.txt")
try: try:
@ -221,10 +230,10 @@ class ManifestGenerator():
firmware_version = firmware_version.strip() firmware_version = firmware_version.strip()
(version_numbers, release_type) = firmware_version.split("-") (version_numbers, release_type) = firmware_version.split("-")
except ValueError: except ValueError:
# print("malformed firmware-version.txt at (%s)" % print("malformed firmware-version.txt at (%s)" % (firmware_version_file,), file=sys.stderr)
# (firmware_version_file,), file=sys.stderr)
firmware_version = None firmware_version = None
except Exception: except Exception as ex:
print("bad file %s" % firmware_version_file, file=sys.stderr)
# this exception is swallowed.... the current archive # this exception is swallowed.... the current archive
# is incomplete. # is incomplete.
firmware_version = None firmware_version = None
@ -243,11 +252,7 @@ class ManifestGenerator():
platform = platformdir # e.g. apm2 platform = platformdir # e.g. apm2
for file in os.listdir(some_dir): for file in os.listdir(some_dir):
if file == "git-version.txt": if file in ["git-version.txt", "firmware-version.txt", "files.html"]:
continue
if file == "firmware-version.txt":
continue
if file == "files.html":
continue continue
if file.startswith("."): if file.startswith("."):
continue continue
@ -267,10 +272,13 @@ class ManifestGenerator():
if vehicletype not in firmware_data: if vehicletype not in firmware_data:
firmware_data[vehicletype] = dict() firmware_data[vehicletype] = dict()
#print("Added vehicletype: ", vehicletype)
if file_platform not in firmware_data[vehicletype]: if file_platform not in firmware_data[vehicletype]:
firmware_data[vehicletype][file_platform] = dict() firmware_data[vehicletype][file_platform] = dict()
#print("Added file_platform: ", vehicletype, file_platform)
if git_sha not in firmware_data[vehicletype][file_platform]: if git_sha not in firmware_data[vehicletype][file_platform]:
firmware_data[vehicletype][file_platform][git_sha] = dict() firmware_data[vehicletype][file_platform][git_sha] = dict()
#print("Added git_sha: ", vehicletype, file_platform, releasetype, git_sha)
sha_dict = firmware_data[vehicletype][file_platform][git_sha] sha_dict = firmware_data[vehicletype][file_platform][git_sha]
if firmware_format not in sha_dict: if firmware_format not in sha_dict:
@ -313,8 +321,7 @@ class ManifestGenerator():
ret = [] ret = []
for value in xfirmwares.values(): for value in xfirmwares.values():
o = self.xfirmwares_to_firmwares(value) o = self.xfirmwares_to_firmwares(value)
for oo in o: ret.extend(o)
ret.append(oo)
return ret return ret
else: else:
return [xfirmwares] return [xfirmwares]
@ -419,6 +426,7 @@ class ManifestGenerator():
self.add_USB_IDs(some_json) self.add_USB_IDs(some_json)
#print(some_json['url'])
firmware_json.append(some_json) firmware_json.append(some_json)
ret = { ret = {

Loading…
Cancel
Save