fix: database, now sets have more than 1 piece.

This commit is contained in:
damien DELPY 2024-12-02 20:16:15 +01:00
parent a7f3c1e9c9
commit c349c05acf
No known key found for this signature in database
3 changed files with 4460 additions and 7617 deletions

File diff suppressed because it is too large Load Diff

View File

@ -312,6 +312,14 @@ def generate_table(nbElements : int, nameTable : str, funcGen) -> None:
for i in range(nbElements): for i in range(nbElements):
store_table(1, nameTable, funcGen) store_table(1, nameTable, funcGen)
def generate_table_v2(idDict : dict, nameTable : str, funcGen) -> None:
dictUsed : dict = { k: v for k, v in idDict.items() if v == 1 }
keysUsed : list = list(dictUsed.keys())
for i in keysUsed:
funcGen_i = lambda : funcGen( str(i) )
store_table(1, nameTable, funcGen_i)
############################################################################### ###############################################################################
def generate_table_using_quantite(nbElements : int, nameTable : str, def generate_table_using_quantite(nbElements : int, nameTable : str,
@ -332,6 +340,18 @@ def generate_table_using_quantite(nbElements : int, nameTable : str,
funcGen_2 = lambda : funcGen( str(quantite) ) funcGen_2 = lambda : funcGen( str(quantite) )
store_table(1, nameTable, funcGen_2) store_table(1, nameTable, funcGen_2)
def generate_table_using_quantite_v2(idDict : dict, nameTable : str,
funcGen) -> None:
dictUsed : dict = { k: v for k, v in idDict.items() if v == 1 }
keysUsed : list = list(dictUsed.keys())
for i in keysUsed:
quantite : int = random.randint(10, 100)
funcGen_i = lambda x: funcGen( str(i), x )
funcGen_2 = lambda : funcGen_i( str(quantite) )
store_table(1, nameTable, funcGen_2)
############################################################################### ###############################################################################
# #
# STEP 3 : RESOLVE THE ISSUES OF DEPENDENCIES AND OTHERS # STEP 3 : RESOLVE THE ISSUES OF DEPENDENCIES AND OTHERS
@ -435,7 +455,7 @@ if __name__ == '__main__':
# #
########################################################################### ###########################################################################
nbMembres : int = 101 nbMembres : int = 40
store_table(nbMembres, "membres", tablesDict["membres"]) store_table(nbMembres, "membres", tablesDict["membres"])
nbCouleurs : int = 21 nbCouleurs : int = 21
@ -444,19 +464,19 @@ if __name__ == '__main__':
nbMarques : int = 10 nbMarques : int = 10
store_table(nbMarques, "marques", tablesDict["marques"]) store_table(nbMarques, "marques", tablesDict["marques"])
nbTags : int = 69 nbTags : int = 30
store_table(nbTags, "tags", tablesDict["tags"]) store_table(nbTags, "tags", tablesDict["tags"])
nbFormes : int = 69 nbFormes : int = 10
store_table(nbFormes, "formes", tablesDict["formes"]) store_table(nbFormes, "formes", tablesDict["formes"])
nbMotifs : int = 100 nbMotifs : int = 10
store_table(nbMotifs, "motifs", tablesDict["motifs"]) store_table(nbMotifs, "motifs", tablesDict["motifs"])
nbPieces : int = 750 nbPieces : int = 300
store_table(nbPieces, "pieces", tablesDict["pieces"]) store_table(nbPieces, "pieces", tablesDict["pieces"])
nbPiecesComp : int = 250 nbPiecesComp : int = 50
store_table(nbPiecesComp, "pieces_complexes", store_table(nbPiecesComp, "pieces_complexes",
tablesDict["pieces_complexes"]) tablesDict["pieces_complexes"])
@ -479,13 +499,13 @@ if __name__ == '__main__':
) )
generate_table(nbBoites, "boites", funcGen) generate_table(nbBoites, "boites", funcGen)
nbFils : int = 50 nbFils : int = 5
funcGen = lambda : tablesDict["fils"]( funcGen = lambda : tablesDict["fils"](
give_used_key(idModeleDict) give_used_key(idModeleDict)
) )
generate_table(nbFils, "fils", funcGen) generate_table(nbFils, "fils", funcGen)
nbMessages : int = 600 nbMessages : int = 50
funcGen = lambda : tablesDict["messages"]( funcGen = lambda : tablesDict["messages"](
give_used_key(idMembreDict), give_used_key(idMembreDict),
give_used_key(idFilDict), give_used_key(idFilDict),
@ -514,13 +534,13 @@ if __name__ == '__main__':
generate_table_using_quantite(nbAcheter, "acheter", funcGen) generate_table_using_quantite(nbAcheter, "acheter", funcGen)
nbAvoirMotif : int = nbPieces nbAvoirMotif : int = nbPieces
funcGen = lambda : tablesDict["avoir_motif"]( funcGen = lambda i: tablesDict["avoir_motif"](
give_used_key(idPieceDict), i,
give_used_key(idMotifDict) give_used_key(idMotifDict)
) )
generate_table(nbAvoirMotif, "avoir_motif", funcGen) generate_table_v2(idPieceDict, "avoir_motif", funcGen)
nbAvoirTag : int = nbTags nbAvoirTag : int = nbPieces
funcGen = lambda : tablesDict["avoir_tag"]( funcGen = lambda : tablesDict["avoir_tag"](
give_used_key(idTagDict), give_used_key(idTagDict),
give_used_key(idBoiteDict) give_used_key(idBoiteDict)
@ -528,28 +548,29 @@ if __name__ == '__main__':
generate_table(nbAvoirTag, "avoir_tag", funcGen) generate_table(nbAvoirTag, "avoir_tag", funcGen)
nbColorer : int = nbPieces nbColorer : int = nbPieces
funcGen = lambda : tablesDict["colorer"]( funcGen = lambda i: tablesDict["colorer"](
give_used_key(idPieceDict), i,
give_used_key(idCouleurDict) give_used_key(idCouleurDict)
) )
generate_table(nbColorer, "colorer", funcGen) generate_table_v2(idPieceDict, "colorer", funcGen)
nbConstruire : int = nbBoites nbConstruire : int = nbBoites
funcGen = lambda : tablesDict["construire"]( funcGen = lambda i: tablesDict["construire"](
give_used_key(idBoiteDict), i,
give_used_key(idModeleDict) give_used_key(idModeleDict)
) )
generate_table(nbConstruire, "construire", funcGen) generate_table_v2(idBoiteDict, "construire", funcGen)
nbContenir : int = nbBoites nbContenir : int = nbBoites
funcGen = lambda x: tablesDict["contenir"]( for toto in range(30):
give_used_key(idBoiteDict), funcGen = lambda i, x: tablesDict["contenir"](
i,
give_used_key(idPieceDict), give_used_key(idPieceDict),
x x
) )
generate_table_using_quantite(nbContenir, "contenir", funcGen) generate_table_using_quantite_v2(idBoiteDict, "contenir", funcGen)
nbEnregistrer : int = nbMembres nbEnregistrer : int = random.randint(1, 10)
funcGen = lambda x: tablesDict["enregistrer"]( funcGen = lambda x: tablesDict["enregistrer"](
give_used_key(idBoiteDict), give_used_key(idBoiteDict),
give_used_key(idMembreDict), give_used_key(idMembreDict),
@ -558,11 +579,11 @@ if __name__ == '__main__':
generate_table_using_quantite(nbEnregistrer, "enregistrer", funcGen) generate_table_using_quantite(nbEnregistrer, "enregistrer", funcGen)
nbEtre : int = nbPieces nbEtre : int = nbPieces
funcGen = lambda : tablesDict["etre"]( funcGen = lambda i: tablesDict["etre"](
give_used_key(idPieceDict), i,
give_used_key(idMarqueDict) give_used_key(idMarqueDict)
) )
generate_table(nbEtre, "etre", funcGen) generate_table_v2(idPieceDict, "etre", funcGen)
nbEtreComp : int = nbPieces - random.randint(0, nbPieces) nbEtreComp : int = nbPieces - random.randint(0, nbPieces)
funcGen = lambda : tablesDict["etre_complexe"]( funcGen = lambda : tablesDict["etre_complexe"](
@ -572,19 +593,20 @@ if __name__ == '__main__':
generate_table(nbEtreComp, "etre_complexe", funcGen) generate_table(nbEtreComp, "etre_complexe", funcGen)
nbEtreForme : int = nbPieces nbEtreForme : int = nbPieces
funcGen = lambda : tablesDict["etre_forme"]( funcGen = lambda i: tablesDict["etre_forme"](
give_used_key(idFormeDict), give_used_key(idFormeDict),
give_used_key(idPieceDict) i
) )
generate_table(nbEtreForme, "etre_forme", funcGen) generate_table_v2(idPieceDict, "etre_forme", funcGen)
nbNecessiter : int = nbModeles nbNecessiter : int = nbModeles
funcGen = lambda x: tablesDict["necessiter"]( for toto in range(30):
give_used_key(idModeleDict), funcGen = lambda i, x: tablesDict["necessiter"](
i,
give_used_key(idPieceDict), give_used_key(idPieceDict),
x x
) )
generate_table_using_quantite(nbNecessiter, "necessiter", funcGen) generate_table_using_quantite_v2(idModeleDict, "necessiter", funcGen)
nbNoter : int = nbMembres - random.randint(0, nbMembres) nbNoter : int = nbMembres - random.randint(0, nbMembres)
funcGen = lambda : tablesDict["noter"]( funcGen = lambda : tablesDict["noter"](
@ -593,7 +615,7 @@ if __name__ == '__main__':
) )
generate_table(nbNoter, "noter", funcGen) generate_table(nbNoter, "noter", funcGen)
nbPerdre : int = nbMembres - random.randint(0, nbMembres) nbPerdre : int = random.randint(0, 20)
funcGen = lambda x: tablesDict["perdre"]( funcGen = lambda x: tablesDict["perdre"](
give_used_key(idMembreDict), give_used_key(idMembreDict),
give_used_key(idBoiteDict), give_used_key(idBoiteDict),

File diff suppressed because it is too large Load Diff