aboutsummaryrefslogtreecommitdiffstats
path: root/generate_auto_job
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-30 19:56:05 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-31 21:57:45 +0100
commitfa9676557e3065d75f732622bd498d5572ba686e (patch)
tree7421d5c17a5a3ca8ba6e4f63343da568e1e9844b /generate_auto_job
parent3b60224bae16f36e0b6caf13fe1e119b9fa1f6b1 (diff)
downloadqpdf-fa9676557e3065d75f732622bd498d5572ba686e.tar.zst
QDPFJob: incorporate change to JSONHandler for array start function
Diffstat (limited to 'generate_auto_job')
-rwxr-xr-xgenerate_auto_job17
1 files changed, 15 insertions, 2 deletions
diff --git a/generate_auto_job b/generate_auto_job
index a31fc6e4..4535c8d9 100755
--- a/generate_auto_job
+++ b/generate_auto_job
@@ -562,8 +562,21 @@ class Main:
if isinstance(v[0], dict):
is_dict = True
schema_value = [{}]
+ subpath = f'{path}.{schema_key}'
+ identifier = self.to_identifier(subpath, '', False)
+ self.json_decls.append(
+ f'void begin{identifier}Array(JSON);')
+ self.json_decls.append(
+ f'void end{identifier}Array();')
+ self.json_init.append(
+ f'beginArray("{flag}",'
+ f' bindJSON(&Handlers::begin{identifier}Array),'
+ f' bindBare(&Handlers::end{identifier}Array));'
+ f' // {subpath}[]')
build_schema(v[0], schema_value[0],
- schema_key, f'{path}.{schema_key}')
+ schema_key, subpath)
+ self.json_init.append(
+ f'endContainer(); // {subpath}[]')
elif schema_value is None:
raise Exception(f'unknown schema value for {k}')
s[schema_key] = schema_value
@@ -573,7 +586,7 @@ class Main:
else:
self.handle_json_manual(schema_key, path)
if flag:
- self.json_init.append(f'endDict(); // {path}')
+ self.json_init.append(f'endContainer(); // {path}')
build_schema(data['json'], self.schema, '', '')
if options_seen != set(expected.keys()):