Módulo google.appengine.api.yaml_listener

Resumo

Listener de eventos PyYAML

Contém a classe que interpreta os eventos YAML e os encaminha para um objeto gerenciador.

Índice

class google.appengine.api.yaml_listener.EventHandlersource

Bases: object

Interface do gerenciador para analisar arquivos YAML.

Implemente essa interface para definir uma classe de gerenciamento de eventos YAML específica. As instâncias de classes de implementação são passadas para o construtor de EventListener para atuarem como um receptor de eventos de análise YAML.

Alias(event, loader)Fonte

Processa evento de alias

DocumentEnd(event, loader)Fonte

Processa evento de fim de documento

DocumentStart(event, loader)Fonte

Processa evento de início de documento

MappingEnd(event, loader)Fonte

Processa evento de fim de mapeamento

MappingStart(event, loader)Fonte

Processa evento de início de mapeamento

Scalar(event, loader)Fonte

Processa evento escalar

SequenceEnd(event, loader)Fonte

Processa evento de fim de sequência

SequenceStart(event, loader)Fonte

Processa evento de início de sequência

StreamEnd(event, loader)Fonte

Processa evento de fim de stream

StreamStart(event, loader)Fonte

Processa evento de início de stream

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

Bases: object

Classe auxiliar para mapear novamente eventos PyYAML para chamadas de método.

Por padrão, o PyYAML gera os eventos dele por meio de um gerador Python. Essa classe é um auxiliar que repete os eventos do analisador PyYAML e os encaminha para uma classe de gerenciamento na forma de chamadas de método. Para simplificar, o evento subjacente é encaminhado para o gerenciador como um parâmetro da chamada.

Esse objeto não produz objetos iteráveis, mas é realmente um mapeamento para uma determinada instância do gerenciador.

Exemplo de uso:

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

print “Um novo documento foi iniciado”

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

key1: value1 — key2: value2 ‘’‘

>>> Um novo documento foi iniciado Um novo documento foi iniciado

No exemplo acima, a classe de gerenciamento implementada, PrintDocumentHandler, tem um único método que informa cada vez que um novo documento é iniciado dentro de um arquivo YAML. Não é necessário subclassificar o EventListener, ele simplesmente recebe uma instância de PrintDocumentHandler. Sempre que um novo documento é iniciado, PrintDocumentHandler.DocumentStart é chamado com o evento PyYAML transmitido como parâmetro.

HandleEvent(event, loader=None)Fonte

Processa evento PyYAML individual.

Parâmetros

event: evento a encaminhar para a chamada de método na chamada de método.

Gera

IllegalEvent quando recebe um tipo de evento não reconhecido ou não compatível.

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

Chama o analisador YAML para gerar e processar todos os eventos.

Chama o analisador PyYAML e envia o gerador resultante ao método handle_event para processamento.

Parâmetros
  • stream: documento de string ou objeto de arquivo aberto para processar de acordo com o método yaml.parse. Qualquer objeto que implemente um método "read()" que retorne um documento de string funcionará com o analisador YAML.

  • loader_class: usado para injeção de dependência.

  • **loader_args – transmite para o carregador na construção.