diff --git a/elixir/filters/dtscompcode.py b/elixir/filters/dtscompcode.py index c5ea9d3..74d9eef 100755 --- a/elixir/filters/dtscompcode.py +++ b/elixir/filters/dtscompcode.py @@ -13,7 +13,7 @@ class DtsCompCodeFilter(Filter): def check_if_applies(self, ctx) -> bool: return super().check_if_applies(ctx) and \ - ctx.query.query('dts-comp') and \ + ctx.query.supports_dts_comp() and \ extension_matches(ctx.filepath, {'c', 'cc', 'cpp', 'c++', 'cxx', 'h', 's'}) def transform_raw_code(self, ctx, code: str) -> str: diff --git a/elixir/filters/dtscompdocs.py b/elixir/filters/dtscompdocs.py index 21b8834..2cf7916 100755 --- a/elixir/filters/dtscompdocs.py +++ b/elixir/filters/dtscompdocs.py @@ -13,14 +13,14 @@ class DtsCompDocsFilter(Filter): def check_if_applies(self, ctx) -> bool: return super().check_if_applies(ctx) and \ - ctx.query.query('dts-comp') and \ + ctx.query.supports_dts_comp() and \ ctx.filepath.startswith('/Documentation/devicetree/bindings') def transform_raw_code(self, ctx, code: str) -> str: def keep_dtscompB(m): text = m.group(1) - if ctx.query.query('dts-comp-exists', quote(text)): + if ctx.query.dts_comp_exists(quote(text)): self.dtscompB.append(text) return f'__KEEPDTSCOMPB__{ encode_number(len(self.dtscompB)) }' else: diff --git a/elixir/filters/dtscompdts.py b/elixir/filters/dtscompdts.py index 19712e9..4eaba35 100755 --- a/elixir/filters/dtscompdts.py +++ b/elixir/filters/dtscompdts.py @@ -11,7 +11,7 @@ class DtsCompDtsFilter(Filter): def check_if_applies(self, ctx) -> bool: return super().check_if_applies(ctx) and \ - ctx.query.query('dts-comp') and \ + ctx.query.supports_dts_comp() and \ extension_matches(ctx.filepath, {'dts', 'dtsi'}) def transform_raw_code(self, ctx, code: str) -> str: diff --git a/elixir/query.py b/elixir/query.py index 8562a43..352f5c9 100755 --- a/elixir/query.py +++ b/elixir/query.py @@ -113,18 +113,11 @@ class Query: return lib.getFileFamily(filename) elif cmd == 'dts-comp': - # Get state of dts_comp_support - - return self.dts_comp_support + return self.supports_dts_comp() elif cmd == 'dts-comp-exists': - # Check if a dts compatible string exists - ident = args[0] - if self.dts_comp_support: - return self.db.comps.exists(ident) - else: - return False + return self.dts_comp_exists(ident) elif cmd == 'keys': # Return all keys of a given database @@ -165,6 +158,17 @@ class Query: else: return 'Unknown subcommand: ' + cmd + '\n' + # Get state of dts_comp_support + def supports_dts_comp(self): + return self.dts_comp_support + + # Check if a dts compatible string exists + def dts_comp_exists(self, ident): + if self.dts_comp_support: + return self.db.comps.exists(ident) + else: + return False + # Returns True if file exists def file_exists(self, version, path): if version not in self.file_cache: