FIX: sorting now on all module list

This commit is contained in:
germann_e 2023-09-01 09:51:42 +02:00
parent 19a0264c67
commit ab5f5344c1
2 changed files with 23 additions and 16 deletions

View File

@ -6,13 +6,13 @@ import re
import shutil import shutil
from datetime import date, datetime, timedelta from datetime import date, datetime, timedelta
from operator import itemgetter, attrgetter
from pytablewriter import AsciiDocTableWriter from pytablewriter import AsciiDocTableWriter
def asciidoc_json_dump(list, name, steps, Pmodules_db_path): def asciidoc_json_dump(list, name, steps, Pmodules_db_path, Pmodules_states):
matrix = [] matrix = []
matrix_db = [] matrix_db = []
matrix_sorted = []
temp_matrix_db = [] temp_matrix_db = []
# Check the existing database # Check the existing database
@ -55,6 +55,13 @@ def asciidoc_json_dump(list, name, steps, Pmodules_db_path):
with open(db_file, "w") as f: with open(db_file, "w") as f:
json.dump(matrix, f) json.dump(matrix, f)
for state in [x.strip() for x in Pmodules_states]:
matrix_sorted += sorted(
sorted([x for x in matrix if state in x]),
key=lambda x: (x[-1], x[0]),
)
matrix = matrix_sorted
# Dump asciidoc file # Dump asciidoc file
writer = AsciiDocTableWriter( writer = AsciiDocTableWriter(
table_name=name.capitalize() + " modules", table_name=name.capitalize() + " modules",
@ -102,14 +109,6 @@ def db_check_diff(current_pmodule_state, Pmodules_db_path, Pmodules_states):
) )
old_db = set(" ".join(i.split()) for i in old_pmodule_state.splitlines()) old_db = set(" ".join(i.split()) for i in old_pmodule_state.splitlines())
all_module_list = list(current_db) all_module_list = list(current_db)
all_module_list_sorted = sorted([x for x in all_module_list if " stable" in x])
all_module_list_sorted += sorted(
[x for x in all_module_list if "unstable" in x]
)
all_module_list_sorted += sorted(
[x for x in all_module_list if "deprecated" in x]
)
all_module_list = all_module_list_sorted
# We have to check the differences between the pmodule states. # We have to check the differences between the pmodule states.
if compare_states_sha(current_pmodule_state, old_pmodule_state, current_sha): if compare_states_sha(current_pmodule_state, old_pmodule_state, current_sha):
@ -132,7 +131,9 @@ def db_check_diff(current_pmodule_state, Pmodules_db_path, Pmodules_states):
Pmodules_db_path, Pmodules_db_path,
) )
else: else:
print_to_asciidoc(all_module_list, [], [], [], Pmodules_db_path) print_to_asciidoc(
all_module_list, [], [], [], Pmodules_db_path, Pmodules_states
)
# There is no database available or there are differences with the old pmodule state, writing current state. # There is no database available or there are differences with the old pmodule state, writing current state.
if no_current_db or compare_states_sha( if no_current_db or compare_states_sha(
@ -147,11 +148,16 @@ def print_to_asciidoc(
deleted_module_list, deleted_module_list,
changed_module_list, changed_module_list,
Pmodules_db_path, Pmodules_db_path,
Pmodules_states,
): ):
asciidoc_json_dump(all_module_list, "all", 1, Pmodules_db_path) asciidoc_json_dump(all_module_list, "all", 1, Pmodules_db_path, Pmodules_states)
asciidoc_json_dump(new_module_list, "new", 1, Pmodules_db_path) asciidoc_json_dump(new_module_list, "new", 1, Pmodules_db_path, Pmodules_states)
asciidoc_json_dump(deleted_module_list, "deleted", 1, Pmodules_db_path) asciidoc_json_dump(
asciidoc_json_dump(changed_module_list, "changed", 2, Pmodules_db_path) deleted_module_list, "deleted", 1, Pmodules_db_path, Pmodules_states
)
asciidoc_json_dump(
changed_module_list, "changed", 2, Pmodules_db_path, Pmodules_states
)
def print_pmodules_differences( def print_pmodules_differences(
@ -199,6 +205,7 @@ def print_pmodules_differences(
deleted_module_list, deleted_module_list,
changed_module_list, changed_module_list,
Pmodules_db_path, Pmodules_db_path,
Pmodules_states,
) )

View File

@ -43,7 +43,7 @@ def main():
# Global variables # Global variables
Pmodules_db_path = "/opt/psi/var/cache/pmodules_db/" Pmodules_db_path = "/opt/psi/var/cache/pmodules_db/"
Pmodules_states = [" deprecated", " stable", " unstable"] Pmodules_states = [" stable", " unstable", " deprecated"]
# Main search to analyse # Main search to analyse
module_cmd = ( module_cmd = (