Skip to content

Commit ccadfa1

Browse files
committed
Shared: Update the model generator script to allow execution of the mixed model generator queries.
1 parent 8310faa commit ccadfa1

File tree

1 file changed

+34
-12
lines changed

1 file changed

+34
-12
lines changed

misc/scripts/models-as-data/generate_flow_model.py

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ def __init__ (self, language):
3333
self.generateSources = False
3434
self.generateSummaries = False
3535
self.generateNeutrals = False
36-
self.generateContentSummaries = False
36+
self.generateMixedSummaries = False
37+
self.generateMixedNeutrals = False
3738
self.generateTypeBasedSummaries = False
3839
self.dryRun = False
3940
self.dirname = "modelgenerator"
@@ -51,7 +52,8 @@ def printHelp(self):
5152
--with-sources
5253
--with-summaries
5354
--with-neutrals
54-
--with-content-summaries (Experimental). May not be used in conjunction with --with-summaries
55+
--with-mixed-summaries (Experimental). May not be used in conjunction with --with-summaries.
56+
--with-mixed-neutrals (Experimental). Should only be used in conjunction with --with-mixed-summaries.
5557
--with-typebased-summaries (Experimental)
5658
If none of these flags are specified, all models are generated except for the type based models.
5759
@@ -83,7 +85,7 @@ def make(language):
8385
generator.printHelp()
8486
sys.exit(0)
8587

86-
if "--with-summaries" in sys.argv and "--with-content-summaries" in sys.argv:
88+
if "--with-summaries" in sys.argv and "--with-mixed-summaries" in sys.argv:
8789
generator.printHelp()
8890
sys.exit(0)
8991

@@ -103,9 +105,13 @@ def make(language):
103105
sys.argv.remove("--with-neutrals")
104106
generator.generateNeutrals = True
105107

106-
if "--with-content-summaries" in sys.argv:
107-
sys.argv.remove("--with-content-summaries")
108-
generator.generateContentSummaries = True
108+
if "--with-mixed-summaries" in sys.argv:
109+
sys.argv.remove("--with-mixed-summaries")
110+
generator.generateMixedSummaries = True
111+
112+
if "--with-mixed-neutrals" in sys.argv:
113+
sys.argv.remove("--with-mixed-neutrals")
114+
generator.generateMixedNeutrals = True
109115

110116
if "--with-typebased-summaries" in sys.argv:
111117
sys.argv.remove("--with-typebased-summaries")
@@ -115,7 +121,13 @@ def make(language):
115121
sys.argv.remove("--dry-run")
116122
generator.dryRun = True
117123

118-
if not generator.generateSinks and not generator.generateSources and not generator.generateSummaries and not generator.generateNeutrals and not generator.generateTypeBasedSummaries and not generator.generateContentSummaries:
124+
if (not generator.generateSinks and
125+
not generator.generateSources and
126+
not generator.generateSummaries and
127+
not generator.generateNeutrals and
128+
not generator.generateTypeBasedSummaries and
129+
not generator.generateMixedSummaries and
130+
not generator.generateMixedNeutrals):
119131
generator.generateSinks = generator.generateSources = generator.generateSummaries = generator.generateNeutrals = True
120132

121133
n = len(sys.argv)
@@ -173,12 +185,17 @@ def makeContent(self):
173185
else:
174186
neutralAddsTo = { }
175187

176-
if self.generateContentSummaries:
177-
contentSummaryAddsTo = self.getAddsTo("CaptureContentSummaryModels.ql", helpers.summaryModelPredicate)
188+
if self.generateMixedSummaries:
189+
mixedSummaryAddsTo = self.getAddsTo("CaptureMixedSummaryModels.ql", helpers.summaryModelPredicate)
190+
else:
191+
mixedSummaryAddsTo = { }
192+
193+
if self.generateMixedNeutrals:
194+
mixedNeutralAddsTo = self.getAddsTo("CaptureMixedNeutralModels.ql", helpers.neutralModelPredicate)
178195
else:
179-
contentSummaryAddsTo = { }
196+
mixedNeutralAddsTo = { }
180197

181-
return helpers.merge(summaryAddsTo, contentSummaryAddsTo, sinkAddsTo, sourceAddsTo, neutralAddsTo)
198+
return helpers.merge(summaryAddsTo, mixedSummaryAddsTo, sinkAddsTo, sourceAddsTo, neutralAddsTo, mixedNeutralAddsTo)
182199

183200
def makeTypeBasedContent(self):
184201
if self.generateTypeBasedSummaries:
@@ -208,7 +225,12 @@ def run(self):
208225
print("Models as data extensions generated, but not written to file.")
209226
sys.exit(0)
210227

211-
if self.generateSinks or self.generateSources or self.generateSummaries or self.generateNeutrals:
228+
if (self.generateSinks or
229+
self.generateSources or
230+
self.generateSummaries or
231+
self.generateNeutrals or
232+
self.generateMixedSummaries or
233+
self.generatedMixedNeutrals):
212234
self.save(content, ".model.yml")
213235

214236
if self.generateTypeBasedSummaries:

0 commit comments

Comments
 (0)