के साथ खाली सूची पकड़ें मैं कुछ वेब सेवाओं को मान्य (और जेसन डेटा deserialize) इनपुट करने के लिए colander
का उपयोग कर रहा हूँ।कॉलर
मैं एक खाली सूची पकड़ने के लिए एक कोन्डर स्कीमा में एक नियम जोड़ना चाहता हूं, लेकिन मैं यह नहीं समझ सकता कि इसे कैसे किया जाए।
अभी मेरे पास निम्नलिखित उदाहरण हैं, जो डेटा के दो अलग-अलग सेट के साथ f()
पर कॉल का प्रदर्शन करता है। मैं बाद में क्योंकि खाली events
सूची
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)
सुझाव के colander.Invalid
अपवाद को गति प्रदान चाहते हैं?
बैंग सटीक। धन्यवाद दोस्त! लाइन के नीचे कहीं मैंने कोशिश की, लेकिन यह ठीक नहीं हो सका। जब आपको आवश्यकता हो तो दान बियर बटन कहां है? – mogul