konval

Software screenshot:
konval
Dettagli del software:
Versione: 0.3
Data di caricamento: 11 May 15
Sviluppatore: Paul-Michael Agapow
Licenza: Libero
Popolarità: 4

Rating: nan/5 (Total Votes: 0)

Sfondo
Validazione e conversione dei dati.
Il problema della sanificazione dei dati (controllo di correttezza e trasformando in una forma utile) è diffusa in tutto la programmazione:
- Come faccio a verificare l'input dell'utente è corretta?
- Come faccio a munge i dati da un foglio di calcolo in date e numeri?
- Come faccio a convertire i campi di database prime in un oggetto programmatico?
Ian Bicking si avvicinò con un linguaggio sensibile a questo problema, incarnata nella sua biblioteca FormEncode [FormEncode]: convalida e la conversione sono la stessa cosa, e possono essere gestiti da passaggio di dati grezzi attraverso una catena di validatori. Ogni validatore verifica e / o trasforma i dati e li passa a quello successivo.
In questo spirito, konval è un pacchetto che prevede:
- Una ricca libreria di oggetti di validazione
- classi di base per la produzione facilmente validatori personalizzati
- Funzioni per facilmente utilizzando validatori in una varietà di modi
Stato
konval è in uno stato sperimentale, e sono stati prodotti per sostenere un altro pacchetto per vedere se l'uso può essere uscito di generalizzare conversione. Come tale. è ancora una liberazione anticipata e l'API può cambiare. Commento è invitato.
Installazione
Il modo più semplice per installare konval è via easy_install [setuptools] o un programma equivalente:
easy_install konval
In alternativa, l'archivio può essere scaricato, scompattato ed eseguire setup.py:
 tar zxvf konval.tgz
& Nbsp; cd konval
& Nbsp; python set.py install
konval è un modulo che non ha prerequisiti e dovrebbe funzionare con qualsiasi versione di Python.
Utilizzo konval
Un API completa è inclusa nella distribuzione del codice sorgente.
Esempi
Più comunemente, konval verrà utilizzato per controllare o valori puliti. Fallimenti provocano eccezioni gettati:
# Convertire l'input dell'utente per un intero reale
>>> Dall'importazione konval *
>>> Sanitize ('1.0', ToInt ())
1
>>> Sanitize ('uno', ToInt ())
Traceback (chiamata più recente scorso)
...
ValueError: non può convertire '1.0' a intero
Un singolo validatore o l'elenco può essere passato per disinfettare. Fallimento in qualsiasi comporterà qualsiasi eccezione:
# Consultare un elenco non ha più di 3 membri
>>> Sanitize (['a', 'b', 'c'], [ToLength (), IsEqualOrLess (3)])
3
# Controlla una password è abbastanza lungo
>>> Sanitize ('mypass', [ToLength (), IsEqualOrMore (8)])
Traceback (chiamata più recente scorso)
...
ValueError: 6 è inferiore a 8
Qualsiasi oggetto richiamabile che accetta e restituisce un singolo valore può essere usato come un validatore:
>>> Da stringa import *
>>> Sanitize ("il mio titolo", [striscia, capitalizzare])
'Il mio titolo'
Una ricca libreria di validatori predefiniti viene fornita:
>>> Sanitize ('ABCDE', IsNonblank ())
'Abcde'
>>> Sanitize (5, IsInRange (1,6))
5
>>> Sanitize ('foo', Sinonimi ({'pippo': 'bar', 'baz': 'quux'}))
'Bar'
Validatori personalizzati possono essere facilmente sottoclassi da una classe base in dotazione:
Classe IsFoo (BaseValidator):
& Nbsp; def validate_value (auto, valore):
! & Nbsp; se il valore = 'foo':
& Nbsp; self.raise_validation_error (valore)
& Nbsp; restituirà True

Cosa c'è di nuovo in questa versione:

  • Rinominato alcuni validatori di schema più coerente. I nomi dovrebbero essere fissati ora.

Requisiti

  • Python

Limitazioni

  • konval si rivolge a una trasformazione a senso unico di dati, trasformando l'input dell'utente o conservati i dati in oggetti Python. Certamente potrebbe essere utilizzata in direzione inversa, ma questo non è un caso di utilizzo primario. FormEncode si basa su due vie (andata e ritorno) la conversione dei dati, in modo che possa essere una valida alternativa.

  • Il nome konval è stato scelto perché:
  • c'è già una libreria Python chiamato & quot; sanità mentale & quot;
  • di & quot; Valcon & quot ;, & quot; Valkon & quot ;, & quot; Conval & quot; ecc era quella meno trafficato su Google

Altri software di sviluppo Paul-Michael Agapow

qanda
qanda

11 May 15

Commenti a konval

I commenti non trovato
Aggiungi commento
Accendere le immagini!