Skip to content

Commit 2a282c4

Browse files
Deduplicate related scripts logic.
1 parent 12c5e1f commit 2a282c4

2 files changed

Lines changed: 19 additions & 25 deletions

File tree

generate.py

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from tqdm import tqdm
1313

1414
from data import Data
15-
from index import ScriptIndex, process_scripts, write_index
15+
from index import Entry, ScriptIndex, process_scripts, write_index
1616
from script import render_script, write_script
1717
from util import get_script_path
1818

@@ -110,6 +110,20 @@ def write_chapter_index(data: Data, output_dir: Path):
110110
)
111111

112112

113+
def get_related_scripts(index: ScriptIndex) -> Dict[str, List[Entry]]:
114+
related: Dict[str, List[Entry]] = {}
115+
116+
for section in index.sections.values():
117+
if section.name == 'Scripts':
118+
continue
119+
120+
for entries in section.entries.values():
121+
for entry in entries:
122+
related[entry.name] = entries
123+
124+
return related
125+
126+
113127
def generate(game: str):
114128
data = Data(game)
115129
chapters = data.get_chapters()
@@ -133,17 +147,7 @@ def generate(game: str):
133147
logger.info(f"['{chapter}'] Creating index...")
134148

135149
index = process_scripts(data, decompiled_dir_ch)
136-
137-
related = {}
138-
139-
for section in index.sections.values():
140-
if section.name == 'Scripts':
141-
continue
142-
143-
for entries in section.entries.values():
144-
names = [entry.name for entry in entries]
145-
for entry in entries:
146-
related[entry.name] = names
150+
related = get_related_scripts(index)
147151

148152
logger.info(f"['{chapter}'] Rendering index...")
149153

@@ -172,17 +176,7 @@ def generate(game: str):
172176
logger.info('Creating index...')
173177

174178
index = process_scripts(data, decompiled_dir)
175-
176-
related = {}
177-
178-
for section in index.sections.values():
179-
if section.name == 'Scripts':
180-
continue
181-
182-
for entries in section.entries.values():
183-
rel_entries = [entry for entry in entries]
184-
for entry in entries:
185-
related[entry.name] = rel_entries
179+
related = get_related_scripts(index)
186180

187181
logger.info('Rendering index...')
188182

script.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from jinja2 import Environment, FileSystemLoader, select_autoescape
1111

1212
from data import Data
13-
from index import process_scripts
13+
from index import Entry, process_scripts
1414
from util import get_script_path
1515

1616
env = Environment(
@@ -309,7 +309,7 @@ def render_script(
309309
script_name: str,
310310
text: Dict[str, List[str]],
311311
data: Data,
312-
related_scripts: Optional[List[str]] = []
312+
related_scripts: Optional[List[Entry]] = []
313313
) -> str:
314314
lines = [
315315
process_line(line, script_name, text, data)

0 commit comments

Comments
 (0)