From cbb014ed3867418d373dadbfc05e5d7dc90a8b4c Mon Sep 17 00:00:00 2001 From: AFCMS Date: Mon, 3 May 2021 22:11:49 +0200 Subject: [PATCH] basic working script --- mods/MAPGEN/mcl_villages/const.lua | 2 +- tools/create_luacheck.py | 31 ++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/mods/MAPGEN/mcl_villages/const.lua b/mods/MAPGEN/mcl_villages/const.lua index 6621dbf3a..e5cbc9b39 100644 --- a/mods/MAPGEN/mcl_villages/const.lua +++ b/mods/MAPGEN/mcl_villages/const.lua @@ -7,7 +7,7 @@ end --[[ Manually set in 'buildings.lua' -- material to replace cobblestone with -wallmaterial = { +local wallmaterial = { "mcl_core:junglewood", "mcl_core:sprucewood", "mcl_core:wood", diff --git a/tools/create_luacheck.py b/tools/create_luacheck.py index 1c38c33f4..a9caad38e 100755 --- a/tools/create_luacheck.py +++ b/tools/create_luacheck.py @@ -4,8 +4,10 @@ from pathlib import Path path = "./mods/" # pattern = re.compile(r'^(?P[^ \t\]]+)[ ]*=[ ]*\{') -pattern = re.compile(r'^(?P[^ \t\]]+)[ ]*=[ ]*\{') +pattern = re.compile(r'^(?P[A-Za-z_0-9]+)[ ]*=[ ]*\{') +pattern_local = re.compile(r'local (?P[A-Za-z_0-9]+)') +global_vars = [] pathlist = Path(path).rglob('*.lua') for path in pathlist: @@ -13,18 +15,31 @@ for path in pathlist: # print(path_in_str) trouve = False with open(path_in_str) as f: + variables_locales = [] for i, line in enumerate(f.readlines()): m = pattern.match(line) if m: - print(path_in_str, ":", i+1, ":", m.group('nomtableau').strip()) - trouve = True - break - if not trouve: - print(path_in_str, ": -") + nomtableau = m.group('nomtableau') + if nomtableau not in variables_locales: + print(path_in_str, ":", i+1, ":", m.group('nomtableau').strip()) + global_vars.append(m.group('nomtableau').strip()) + trouve = True + break -for subdir, dirs, files in os.walk(path): + else: + n = pattern_local.match(line) + if n: + variables_locales.append(n.group('nomvar')) + + if not trouve: + nb_varloc = len(variables_locales) + #print(path_in_str, ": -", "({} variables locales)".format(nb_varloc) if nb_varloc > 0 else '') + +""" for subdir, dirs, files in os.walk(path): for file in files: print(os.path.join(subdir, file)) filepath = subdir + os.sep + file if filepath.endswith(".lua"): - print(filepath) \ No newline at end of file + print(filepath) """ + +print(', '.join(['"{}"'.format(v) for v in global_vars]))