summaryrefslogtreecommitdiffstats
path: root/bin/check-syntax
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <pochu@debian.org>2018-06-15 11:16:22 +0200
committerEmilio Pozuelo Monfort <pochu@debian.org>2018-06-15 11:16:22 +0200
commita38e6da6f226358ddb2a0870ba2c9ca3864369c0 (patch)
tree039fef991e1a17a02666f2cde1998a447506e076 /bin/check-syntax
parentb95b70eabb98e3e8690d7ffc56b68aaa3a852df9 (diff)
check-syntax: don't hardcode sources
Get them from config.json instead. This also simplifies the parse_* functions as there's just a generic one now.
Diffstat (limited to 'bin/check-syntax')
-rwxr-xr-xbin/check-syntax40
1 files changed, 21 insertions, 19 deletions
diff --git a/bin/check-syntax b/bin/check-syntax
index a4d3f2ec01..115636f81f 100755
--- a/bin/check-syntax
+++ b/bin/check-syntax
@@ -51,36 +51,38 @@ def construct(c, name):
else:
f = file(name)
return c(name, f)
-
-def parse_CVE(name):
- f = construct(bugs.CVEFile, name)
- # Relax syntax checking a bit.
- f.no_version_needs_note = False
- do_parse(f)
+sources = debian_support.getconfig()["sources"]
+
+def find_source(name):
+ for source in sources:
+ if source["name"] == name:
+ return source
-def parse_DSA(name):
- do_parse(construct(bugs.DSAFile, name))
+ return None
-def parse_DTSA(name):
- do_parse(construct(bugs.DTSAFile, name))
+def parse_file(name, filename):
+ source = find_source(name)
+ cls = source["class"]
+ cls = getattr(bugs, cls)
+ f = construct(cls, filename)
-file_types = {'CVE' : parse_CVE,
- 'DSA' : parse_DSA,
- 'DTSA' : parse_DTSA,
- 'DLA' : parse_DSA}
+ if cls == bugs.CVEFile:
+ # Relax syntax checking a bit.
+ f.no_version_needs_note = False
+
+ do_parse(f)
if len(sys.argv) == 2 and sys.argv[1] == "--get":
- l = file_types.keys()
- l.sort()
+ l = [src["name"] for src in sources]
print ' '.join(l)
sys.exit(0)
-if len(sys.argv) <> 3 or not file_types.has_key(sys.argv[1]):
- l = file_types.keys()
+if len(sys.argv) <> 3 or find_source(sys.argv[1]) == None:
+ l = [src["name"] for src in sources]
l.sort()
sys.stderr.write("usage: check-syntax {%s} file-name\n"
% '|'.join(l))
sys.exit(1)
-file_types[sys.argv[1]](sys.argv[2])
+parse_file(sys.argv[1], sys.argv[2])

© 2014-2024 Faster IT GmbH | imprint | privacy policy