Bazı web servislerine giriş yapmak (ve json verilerini silmek) için colander
kullanıyorum.Kevgir ile boş liste yakalamak
Boş bir listeyi yakalamak için bir kevgir şemasına bir kural eklemek istiyorum, ancak bunu nasıl yapacağımı anlayamıyorum.
Şu anda iki farklı veri kümesiyle f()
işlevine bir çağrı göstererek aşağıdaki örnek var. Daha sonra, çünkü boş events
listeye
import colander
def f(data):
class EventList(colander.SequenceSchema):
list_item = colander.SchemaNode(colander.Int())
class Schema(colander.MappingSchema):
txt = colander.SchemaNode(colander.String())
user = colander.SchemaNode(colander.String())
events = EventList()
try:
good_data = Schema().deserialize(data)
print 'looks good'
except colander.Invalid as e:
print "man, your data suck"
good_data = {'txt' : 'BINGO',
'user' : 'mogul',
'events' : [11, 22, 33]}
f(good_data)
bad_data = {'txt' : 'BOOM',
'user' : 'mogul',
'events' : []}
f(bad_data)
Öneriler arasında colander.Invalid
istisna tetiklemek istersiniz?
BANG! Üzerinde nokta. Teşekkürler dostum! Hatta bir yere kadar neredeyse bunu denedim, ama doğru anlayamadım. İhtiyacınız olduğunda bağış bira düğmesi nerede? – mogul