La classe Field

La classe Field è la classe di base per tutti i campi definiti nei messaggi. Questo corso non può essere esteso dagli sviluppatori.

Field è fornito dal modulo protorpc.messages.

Costruttore

Il costruttore della classe Field è definito come segue:

classe Campo (message_type, numero, [required=False | repeated=False], variante=nessuna, default=None)

Inizializza un'istanza di Field. Ogni sottoclasse di Field deve definire quanto segue:

VARIANTS
Insieme di tipi di varianti accettati da quel campo.
DEFAULT_VARIANT
Tipo di variante predefinito se non specificato nel costruttore.
Argomenti
numero
Numero del campo. Deve essere univoco per ogni classe di messaggio.
required=False
Indica se questo campo è obbligatorio. Si escludono a vicenda con l'argomento repeated. Non specificare repeated se utilizzi required.
repeated=False
Indica se questo campo è ripetuto. Esclusivo con l'argomento required. Non specificare required=True se utilizzi anche repeated=True.
variant=None
Fornisce informazioni aggiuntive sulla codifica utilizzate principalmente dai buffer di protocollo. Queste varianti corrispondono ai valori di tipo in descriptor.proto. La best practice è utilizzare valori predefiniti, ma puoi specificare valori a 32 bit, 64 bit, senza firma e così via.
default=None
Valore predefinito del campo se non lo trovi nella richiesta sottostante.

Nota:non sono consentiti valori predefiniti per i campi ripetuti o dei messaggi.

Genera le seguenti eccezioni:

Proprietà classe

La classe FieldList ha una proprietà:

default()
Il valore predefinito per il campo.

Metodi istanza

Le istanze di FieldList hanno i seguenti metodi:

validate(value)
Convalida un valore assegnato a un campo. Argomenti
valore
Il valore da valutare.

Aumenta il valore ValidationError se il valore non è un tipo previsto.

validate_default_element(valore)

Convalida un valore assegnato a un campo predefinito. Specifico per un singolo elemento.

Alcuni campi potrebbero consentire la risoluzione ritardata dei tipi predefiniti necessari nel caso di riferimenti a definizione circolare. In questo caso, il valore predefinito potrebbe essere un segnaposto che viene risolto quando necessario dopo aver definito tutte le classi dei messaggi.

Argomenti
value
Valore predefinito da convalidare.

Aumenta il valore ValidationError se il valore non è un tipo previsto.

validate_default(value)

Convalida il valore predefinito di un campo.

Argomenti
value
Valore predefinito da convalidare.

Aumenta il valore ValidationError se il valore non è un tipo previsto.

message_definition()

Recupera una definizione di messaggio che contiene questa definizione di campo. Restituisce una definizione dell'oggetto Message che contiene il campo. Restituisce None se il Campo è definito al di fuori di una classe di messaggio.

Aumenta il valore ValidationError se il valore non è un tipo previsto.