Module google.appengine.api.yaml_listener

Résumé

Écouteur d'événements PyYAML

Contient une classe qui interprète les événements YAML et les transmet à un objet de gestionnaire.

Contenus

classe google.appengine.api.yaml_listener.EventHandlersource

Bases : objet

Interface de gestionnaire pour l'analyse des fichiers YAML.

Implémente cette interface pour définir une classe de gestion d'événements YAML spécifique. L'implémentation d'instances de classes est transmise au constructeur de EventListener pour agir en tant que récepteur d'événements d'analyse YAML.

Alias(event, loader)source

Gérer les événements d'alias

DocumentEnd(event, loader)source

Gérer les événements de fin de document

DocumentStart(event, loader)source

Gérer les événements de début de document

MappingEnd(event, loader)source

Gérer les événements de fin de mappage

MappingStart(event, loader)source

Gérer les événements de début de mappage

Scalar(event, loader)source

Gérer les événements scalaires

SequenceEnd(event, loader)source

Gérer les événements de fin de séquence

SequenceStart(event, loader)source

Gérer les événements de début de séquence

StreamEnd(event, loader)source

Gérer les événements de fin de flux

StreamStart(event, loader)source

Gérer les événements de début de flux

classe google.appengine.api.yaml_listener.EventListener(event_handler)source

Bases : objet

Classe d'assistance pour remapper les événements PyYAML sur des appels de méthode.

Par défaut, PyYAML génère ses événements via un générateur Python. Cette classe est un outil d'aide qui effectue une itération sur les événements provenant de l'analyseur PyYAML et les transmet à une classe de gestion sous la forme d'appels de méthode. Par souci de simplicité, l'événement sous-jacent est transféré au gestionnaire en tant que paramètre de l'appel.

Cet objet ne produit pas en soi des objets itérables, mais il s'agit en réalité d'un mappage avec une instance de gestionnaire donnée.

Exemple d'utilisation :

class PrintDocumentHandler(object):
def DocumentStart(event):

print “A new document has been started”

EventListener(PrintDocumentHandler()).Parse(‘’‘

key1: value1 — key2: value2 ‘’‘

>>> A new document has been started A new document has been started

Dans l'exemple ci-dessus, la classe de gestionnaire mise en œuvre (PrintDocumentHandler) possède une méthode unique qui signale chaque démarrage d'un nouveau document dans un fichier YAML. Il n'est pas nécessaire de sous-classer l'objet EventListener, qui reçoit simplement une instance printDocumentHandler. Chaque fois qu'un nouveau document commence, EventDocumentHandler.DocumentStart est appelé avec l'événement PyYAML transmis en tant que paramètre.

HandleEvent(event, loader=None)source

Gérer un événement PyYAML individuel.

Paramètres

event – Événement à transférer vers l'appel de méthode dans l'appel de méthode.

Génère

IllegalEvent lorsqu'un type d'événement non reconnu ou non compatible est reçu.

Parse(stream, loader_class=google.appengine._internal.ruamel.yaml.loader.SafeLoader, **loader_args)source

Appelle l'analyseur YAML pour générer et gérer tous les événements.

Appelle l'analyseur PyYAML et envoie le générateur obtenu à la méthode handle_event pour le traitement.

Paramètres
  • stream : document de chaîne ou objet de fichier ouvert à traiter conformément à la méthode . Tout objet qui met en œuvre une méthode "read()" renvoyant un document de type chaîne fonctionne avec l'analyseur YAML.

  • loader_class : utilisé pour l'injection de dépendances.

  • **loader_args : à transmettre au "loader" (chargeur) lors de la construction.