konval

Software screenshot:
konval
Software detaljer:
Version: 0.3
Upload dato: 11 May 15
Licens: Gratis
Popularitet: 4

Rating: nan/5 (Total Votes: 0)

Baggrund
Validering og konvertering af data.
Problemet med desinfektion data (kontrol korrekthed og omdanne til en anvendelig form) er udbredt i hele programmeringen:
- Hvordan kan jeg kontrollere brugerinput er korrekt?
- Hvordan kan jeg munge data fra et regneark til datoer og tal?
- Hvordan kan jeg konvertere rå database felter i en programmatisk objekt?
Ian Bicking kom op med en fornuftig formsprog til dette problem, legemliggjort i hans Formencode bibliotek [formencode]: validering og konvertering er én og samme ting, og kan håndteres ved at sende rå data gennem en kæde af validatorer. Hver validator kontrol og / eller transformerer dataene og sender det videre til den næste.
I denne ånd konval er en pakke, der giver:
- Et rigt bibliotek af validering objekter
- stamklasser for nemt at producere brugerdefinerede validatorer
- Funktioner til nemt ved hjælp validator i en række forskellige måder
Status
konval er i en sonderende tilstand, som er blevet produceret for at støtte en anden pakke og se, om brugen kan fik ud af at generalisere konvertering. Som sådan. det er stadig en tidlig løsladelse og API kan ændre sig. Kommentar er inviteret.
Installation
Den enkleste måde at installere konval er via easy_install [setuptools] eller et tilsvarende program:
easy_install konval
Alternativt tar-arkiv kan downloades, pakkes ud og setup.py run:
 tar zxvf konval.tgz
& Nbsp; cd konval
& Nbsp; python set.py installere
konval er et modul, der ikke har nogen forudsætninger og bør arbejde med næsten enhver version af Python.
Brug konval
En fuld API er inkluderet i kilden distribution.
Eksempler
Mest almindeligt, vil konval anvendes til at kontrollere eller rene værdier. Svigt medfører undtagelser smides:
# Konvertere brugerinput til en faktiske heltal
>>> Fra konval import *
>>> Rengøringssletning ("1,0", ToInt ())
1
>>> Rengøringssletning ("én", ToInt ())
Tilbagesporingshukommelsen (seneste opkald sidste)
...
ValueError: kan ikke konvertere '1,0' til heltal
En enkelt validator eller en liste kan blive videregivet til desinficere. Fejl i en vil medføre nogen undtagelse:
# Kontrollere en liste ikke har mere end 3 medlemmer
>>> Rengøringssletning (['a', 'b', 'c'] [ToLength (), IsEqualOrLess (3)])
3
# Kontrollere en adgangskode er lang nok
>>> Rengøringssletning ('mypass «, [ToLength (), IsEqualOrMore (8)])
Tilbagesporingshukommelsen (seneste opkald sidste)
...
ValueError: 6 er lavere end 8
Enhver konverterbare objekt, der accepterer og returnerer en enkelt værdi kan anvendes som en validator:
>>> Fra strengen import *
>>> Rengøringssletning ("min titel", [strimmel, kapitalisere])
"Min titel '
En rig bibliotek af forudindstillede validatorer leveres:
>>> Rengøringssletning ("abcde", IsNonblank ())
"Abcde"
>>> Rengøringssletning (5, IsInRange (1,6))
5
>>> Rengøringssletning ('foo', Synonymer ({'foo «:» bar', 'baz «:» quux'}))
"Bar"
Brugerdefinerede validatorer kan nemt underklasse fra en medfølgende base klasse:
klasse IsFoo (BaseValidator):
& Nbsp; def validate_value (selv, værdi):
! & Nbsp; hvis værdi = 'foo':
& Nbsp; self.raise_validation_error (værdi)
& Nbsp; returnere sandt

Hvad er nyt i denne udgivelse:

  • Omdøbte nogle validatorer til mere konsekvent ordning. Navne bør fastsættes nu.

Krav :

  • Python

Begrænsninger :

  • konval er rettet mod en ensrettet transformation af data, dreje brugerinput eller opbevares data i Python objekter. Bestemt det kunne anvendes i den modsatte retning, men dette er ikke en primær use case. FormEncode er bygget op omkring to-vejs (rundtur) konvertering af data, så det kan være et nyttigt alternativ.

  • Navnet konval blev valgt, fordi:
  • Der er allerede en Python bibliotek kaldet & quot; tilregnelighed & quot;
  • ud af & quot; Valcon & quot ;, & quot; Valkon & quot ;, & quot; conval & quot; etc. Det var den ene med færrest hits på Google

Andre software developer Paul-Michael Agapow

qanda
qanda

11 May 15

Kommentarer til konval

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!