Wiki L'encyclopédie Moga
Advertisement
Wiki L'encyclopédie Moga
19 179
pages

Ceci est la page de documentation pour Module:Database Accessors

Le module Database Accessors sert à regrouper les fonctions générales d'accès aux bases de données du wiki. Il n'a pas pour but d'être utilisé sur une page.

Important.png

Ne modifiez pas ce module si vous n'êtes pas sûr de ce que vous faites !

Méthodes publiques[]

get_value[]

La méthode get_value envoie la réponse la plus appropriée, comprend la structure de la base de données pour trouver le bon élément.

Fonctionne sur les principes suivants :

  • On cherche si un (ou plusieurs) éléments correspondent à l'expression régulière filt
  • On descend des niveaux dans le tableau en utilisant l'argument pat, chaque clef successive du tableau étant séparée par un "/"
    • Lorsqu'on arrive au bout, OU alors que le sous-tableau ne contient pas la bonne sous-clef, on s'arrête
  • Si on arrive sur une chaîne, on applique la regex
  • Si c'est un tableau, on applique la regex sur tous les éléments, et renvoyer vrai si au moins un sous-élément fonctionne

Arguments :

  • tab : un table
  • pat : une string, indique le chemin à suivre. La structure est donnée par le caractère "/".
    • Par exemple : "name/MH3U" indique que l'on doit descendre en utilisant la clef "name", puis la clef "MH3U" dans le sous-tableau. On utilise la clef "def" lorsque ces clefs ne sont pas trouvées.
  • filt : une string, comment vérifier si la valeur finale correspond.
    • Si regex est false, on doit avoir une égalité entre la valeur et filt
    • Si regex est true, on vérifie si l'expression régulière filt correspond à la valeur.
  • regex : un bool, indique si filt doit être traitée comme une chaîne de caractères ou une expression régulière.

Débogage :

  • =p.get_value({name={b="c", def="a"}}, "name/b", ".+", true) doit renvoyer "c" : un élément correspond aux filtres
  • =p.get_value({name={b="c", def="a"}}, "name/c", ".+", true) doit renvoyer "a" : utilisation de la clef par défaut
  • =p.get_value({name={b="c", a="a"}}, "name/c", ".+", true) doit renvoyer nil : aucun élément ne correspond

standard_filter[]

Cette méthode renvoie si au moins une valeur correspond aux filtres. C'est l'évaluation en booléen de get_value.


Voir Spécial:Pages liées/Module:Database Accessors pour la liste des pages utilisant ce module.

Pour modifier cette page : Module:Database Accessors/doc.

Advertisement