Módulo google.appengine.ext.bulkload.bulkloader_config

Resumo

Analisador e executor das configurações do bulkloader.

Uma biblioteca para leitura das configurações do yaml do bulkloader. O código para interface entre a ferramenta bulkloader e os vários conectores e conversões.

Índice

Classe google.appengine.ext.bulkload.bulkloader_config.BulkloadStateFonte

Bases: object

Encapsula o estado que é passado para outros métodos usados no carregamento em massa.

Como opção, é passado para importar/exportar funções de transformação. É passado para objetos de conector.

Propriedades:

filename: a sinalização filename passada na linha de comando. loader_opts: a sinalização loader_opts passada na linha de comando. exporter_opts: a sinalização exporter_opts passada na linha de comando. current_instance: a instância atual de entidade ou modelo. current_entity: na exportação, a instância atual de entidade. current_dictionary: o dicionário atual de entrada ou saída.

Classe google.appengine.ext.bulkload.bulkloader_config.DictConvertor(transformer_spec)Fonte

Bases: object

Converte um dicionário em uma instância ou entidade de modelo do App Engine, bem como a operação inversa.

O construtor recebe uma especificação de transformador que representa um único transformador em um arquivo bulkloader.yaml.

O objeto DictConvertor tem dois métodos públicos, dict_to_entity e entity_to_dict, que fazem a conversão entre um dicionário neutro (a entrada/saída de um conector) e uma entidade baseada na especificação.

Observe que a classe de modelo pode ser usada em vez de uma entidade durante a transformação, o que acrescenta validação extra etc., mas também afeta o desempenho.

dict_to_entity(input_dict, bulkload_state)Fonte

Transforma o dicionário em um modelo ou instância(s) de entidade.

Parâmetros
  • input_dict: dicionário de entrada neutro que descreve um único registro de entrada.

  • bulkload_state: objeto bulkload_state que descreve o estado.

Retorna

Instância de entidade ou modelo, ou coleção de instâncias de entidade ou modelo, a serem carregadas.

entity_to_dict(entity, bulkload_state)Fonte

Transforma a entidade em um dicionário, possivelmente por meio de um modelo.

Parâmetros
  • entity: uma entidade.

  • bulkload_state: objeto bulkload_state que descreve o estado global.

Retorna

Um dicionário de saída neutro que descreve o registro para gravar na saída. No futuro, pode retornar nenhum ou vários dicionários de saída.

Classe google.appengine.ext.bulkload.bulkloader_config.GenericExporter(export_recorder, entity_to_dict, kind, sort_key_from_entity)Fonte

Bases: object

Implementa a interface bulkloader.Exporter e delega.

Isso delegará ao método entity_to_dict passado e aos métodos no export_recorder que estão na ConnectorInterface.

finalize()Fonte

Executa ações de finalização após a conclusão do download.

initialize(filename, exporter_opts)Fonte

Executa a inicialização e a validação do arquivo de saída.

Parâmetros
  • filename: string fornecida como o argumento da sinalização –filename.

  • exporter_opts: string fornecida como o argumento da sinalização –exporter_opts.

output_entities(entity_iterator)Fonte

Gera as entidades salvas.

Parâmetros

entity_iterator: um iterador que gera as entidades salvas na ordem classificada.

Classe google.appengine.ext.bulkload.bulkloader_config.GenericImporter(import_record_iterator, dict_to_entity, name, reserve_keys)Fonte

Bases: object

Classe genérica de importação do bulkloader para transformação input->dict->model.

O bulkloader chamará generate_records e create_entity, e nós os delegaremos aos métodos passados.

create_entity(values, key_name=None, parent=None)Fonte

Cria entidade/entidades de valores de entrada por meio do método dict_to_entity.

Parâmetros
  • values: dicionário neutro de generate_records.

  • key_name: registra o número de generate_key.

  • parent: sempre "None" nesta implementação de um carregador.

Retorna

Instância de entidade ou modelo, ou coleção de instâncias de entidade ou modelo, a serem carregadas.

finalize()Fonte

Executa ações de finalização depois que o upload é concluído.

Se foram usadas chaves com códigos numéricos na importação, AllocateIds será chamado para garantir que os códigos gerados automaticamente não gerem exceções em conflito com entidades carregadas.

generate_key(line_number, unused_values)Fonte

Método do bulkloader para gerar chaves, a maioria não utilizada aqui.

É chamado pelo bulkloader pouco antes de create_entity ser chamado. O line_number é retornado para ser passado ao dicionário de registros, caso contrário não é utilizado.

Parâmetros
  • line_number: número de registro recebido do bulkloader.

  • unused_values: dicionário neutro criado de generate_records. Não utilizado.

Retorna

line_number para uso posterior.

generate_records(filename)Fonte

Iterador que produz dicionários neutros do objeto conector.

Parâmetros

filename: argumento de nome de arquivo passado na linha de comando.

Retorna

Iterador que produz dicionários neutros, passado para create_entity posteriormente.

get_keys_to_reserve()Fonte

Necessário como parte da interface do carregador do bulkloader.

No momento, não é realmente usado pelo bulkloader para importação. Em vez disso, vamos reservar as chaves, se necessário, na finalização.

Retorna

Lista de chaves a reservar, atualmente sempre [].

initialize(filename, loader_opts)Fonte

Executa a inicialização. Apenas registra os valores para uso posterior.

Parâmetros
  • filename: string fornecida como o argumento da sinalização –filename.

  • loader_opts: string fornecida como o argumento da sinalização –loader_opts.

google.appengine.ext.bulkload.bulkloader_config.create_transformer_classes(transformer_spec, config_globals, reserve_keys)Fonte

Cria uma classe importadora e exportadora a partir da especificação de um transformador.

Parâmetros
  • transformer_spec: um bulkloader_parser.TransformerEntry.

  • config_globals: dicionário a ser usado para se referir a globais para código na configuração.

  • reserve_keys: método ReserveKeys(keys), que avança a sequência de ID no repositório de dados além de cada key.id(). Pode ser None.

Gera

InvalidConfig: quando a configuração é inválida.

Retorna

Tupla, (classe de importador, classe de exportador), cada qual, por sua vez, é um wrapper para a classe GenericImporter/GenericExporter usando um objeto DictConvertor configurado de acordo com o transformer_spec.

google.appengine.ext.bulkload.bulkloader_config.default_export_transform(value)Fonte

Uma transformação de exportação padrão, se nada mais for especificado.

Presumimos que a maioria dos conectores de exportação são baseados em strings, portanto, é usado o cast de strings. No entanto, o cast de "Nenhum" em uma string leva a "Nenhum", então isso é um caso especial.

Parâmetros

value: valor de algum tipo.

Retorna

unicode(value) ou u’’ se o valor for Nenhum

google.appengine.ext.bulkload.bulkloader_config.load_config(filename, update_path=True, reserve_keys=None)Fonte

Carrega um arquivo de configuração e cria classes de importador e exportador.

Parâmetros
  • filename: nome do arquivo de bulkloader.yaml.

  • update_path: o arquivo sys.path deve ser estendido para incluir o caminho do nome do arquivo?

  • reserve_keys: método ReserveKeys(keys), que avança a sequência de ID no repositório de dados além de cada key.id(). Pode ser None.

Retorna

Tupla, (classes de importador, classes de exportador) com base nos transformadores especificados no arquivo.

google.appengine.ext.bulkload.bulkloader_config.load_config_from_stream(stream, reserve_keys=None)Fonte

Analisa um arquivo bulkloader.yaml em classes de carregador do bulkloader.

Parâmetros
  • stream: um fluxo contendo dados de bulkloader.yaml.

  • reserve_keys: método ReserveKeys(keys), que avança a sequência de ID no repositório de dados além de cada key.id(). Pode ser None.

Retorna

Construtores adequados para passar ao bulkloader.

Tipo de retorno

importer_classes, exporter_classes