La classe Field

La classe Field è la classe base per tutti i campi definiti nei messaggi. Questa classe non può essere estesa dagli sviluppatori.

Field è fornito dal modulo protorpc.messages.

Costruttore

Il costruttore della classe Field è definito come segue:

class  Field (message_type, number, [required=False | repeated=False], variant=None, default=None)

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

VARIANTS
Insieme di tipi di varianti accettati da questo campo.
DEFAULT_VARIANT
Tipo di variante predefinito se non specificato nel costruttore.
Argomenti
number
Numero del campo. Deve essere univoco per classe di messaggi.
required=False
Indica se questo campo è obbligatorio o meno. Si esclude a vicenda con l'argomento repeated; non specificare repeated se utilizzi required.
repeated=False
Indica se questo campo è ripetuto o meno. Si esclude a vicenda con l'argomento required; non specificare required=True se utilizzi anche repeated=True.
variant=None
Fornisce informazioni di codifica aggiuntive utilizzate principalmente dai buffer di protocollo. Queste varianti corrispondono ai valori di Tipo in descriptor.proto. La best practice è utilizzare i valori predefiniti, ma puoi specificare i valori come 32 bit, 64 bit, senza segno e così via.
default=None
Valore predefinito per il campo se non viene trovato nella richiesta sottostante.

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

Genera le seguenti eccezioni:

Proprietà della classe

La classe FieldList ha una proprietà:

default()
Il valore predefinito del campo.

Metodi dell'istanza

Le istanze FieldList hanno i seguenti metodi:

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

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

validate_default_element(value)

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

Alcuni campi potrebbero consentire la risoluzione ritardata dei tipi predefiniti necessari in caso di riferimenti a definizioni circolari. In questo caso, il valore predefinito potrebbe essere un segnaposto che viene risolto quando necessario dopo che sono state definite tutte le classi di messaggi.

Argomenti
valore
Valore predefinito da convalidare.

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

validate_default(value)

Valida il valore predefinito di un campo.

Argomenti
valore
Valore predefinito da convalidare.

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

message_definition()

Recupera una definizione del messaggio che contiene questa definizione del campo. Restituisce una definizione per l'oggetto Message che contiene il campo. Restituisce None se Field è definito al di fuori di una classe di messaggio.

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