konval

Software skärmdump:
konval
Mjukvaruinformation:
Version: 0.3
Ladda upp dagen: 11 May 15
Utvecklare: Paul-Michael Agapow
Licens: Gratis
Popularitet: 4

Rating: nan/5 (Total Votes: 0)

Bakgrund
Validering och konvertering av data.
Problemet med desinficerande uppgifter (kontroll korrekthet och omvandla till en användbar form) är utbredd i hela programmering:
- Hur kan jag kontrollera användarens input är korrekt?
- Hur jag munge data från ett kalkylblad i datum och nummer?
- Hur kan jag konvertera rå databasfält i en programmatisk objekt?
Ian Bicking kom upp med en vettig idiom för det här problemet, förkroppsligas i hans Formencode bibliotek [formencode]: validering och konvertering är en och samma sak, och kan hanteras genom att rådata genom en kedja av mekanismerna. Varje validator kontroller och / eller omvandlar data och vidarebefordrar den till nästa.
I denna anda är konval ett paket som ger:
- Ett rikt bibliotek av validerings objekt
- basklasser för lätt att producera egna validerare
- Funktioner för enkelt med hjälp av mekanismerna i en mängd olika sätt
Status
konval är i ett förberedande tillstånd, har framställts för att stödja ett annat paket och se om användning kan fås ut ur generalisera konvertering. Som sådan. det är fortfarande en förtida frigivning och API kan komma att ändras. Kommentar är inbjuden.
Installation
Det enklaste sättet att installera konval är via easy_install [setuptools] eller ett motsvarande program:
easy_install konval
Alternativt arkivet kan laddas ner, packas upp och setup.py kör:
 tar zxvf konval.tgz
& Nbsp; cd konval
& Nbsp; python set.py installera
konval är en modul som inte har några förutsättningar och bör arbeta med bara om någon version av Python.
Använda konval
En fullständig API ingår i distributionen källan.
Exempel
Oftast kommer konval användas för att kontrollera eller rena värden. Misslyckanden resultera i undantag kastas:
# Konvertera användarens input till en faktisk heltal
>>> Från konval import *
>>> Desinficerings ('1,0', ToInt ())
1
>>> Desinficerings ("en", ToInt ())
Spårnings (det senaste samtalet sist)
...
ValueError: inte kan konvertera "1,0" till heltal
En enda validator eller lista kan överföras till sanitize. Fel i någon kommer att resultera i något undantag:
# Kontrollera en lista har högst 3 medlemmar
>>> Desinficerings (['a', 'b', 'c'], [ToLength (), IsEqualOrLess (3)])
3
# Kontrollera ett lösenord är tillräckligt lång
>>> Desinficerings ('mypass', [ToLength (), IsEqualOrMore (8)])
Spårnings (det senaste samtalet sist)
...
ValueError: 6 är lägre än 8
Alla inlösbara objekt som accepterar och returnerar ett enda värde kan användas som en validator:
>>> Från sträng import *
>>> Desinficerings ("min titel", [remsa, kapitalisera])
"Min titel"
Ett rikt bibliotek av färdiga validerare levereras:
>>> Desinficerings ("abcde", IsNonblank ())
"Abcde"
>>> Sanitize (5, IsInRange (1,6))
5
>>> Desinficerings ("foo", Synonymer ({"foo": "bar", "baz": "quux"}))
"Bar"
Anpassade mekanismerna kan lätt underklassas från en medföljande basklass:
klass IsFoo (BaseValidator):
& Nbsp; def validate_value (själv, värde):
! & Nbsp; om value = "foo":
& Nbsp; self.raise_validation_error (värde)
& Nbsp; return true

Vad är nytt i den här versionen:

  • Omdöpt några validerare till mer konsekvent schema. Namn bör fastställas nu.

Krav :

  • Python

Begränsningar :

  • konval riktar sig till en enkelriktad omvandling av data, svarvning användarens input eller lagras data till Python objekt. Visst det kunde användas i den motsatta riktningen, men detta är inte ett primärt användningsfall. FormEncode är uppbyggd kring tvåvägs (tur och retur) konvertering av data, så det kan vara ett bra alternativ.

  • Namnet konval valdes eftersom:
  • Det finns redan ett Python-bibliotek som kallas & quot; sanity & quot;
  • av & quot; Valcon & quot ;, & quot; Valkon & quot ;, & quot; conval & quot; etc. Det var den med minst antal träffar på Google

Annan programvara för utvecklare Paul-Michael Agapow

qanda
qanda

11 May 15

Kommentarer till konval

Kommentarer hittades inte
Kommentar
Slå på bilder!