0
我正在構建一個語音郵件應用程序,通過Twilio接收電話,接收消息,然後將信息記錄在Airtable數據庫中。我有一切工作正常,但它是很多重複的代碼,所以我想鞏固它,但我在調用函數時遇到錯誤。調用python函數時出現應用程序錯誤
這是我現在有...
@app.route("/call", methods=['GET', 'POST'])
def caller():
phone = request.values.get('From', None)
campaign = request.values.get('To')
if campaign == brand_1.phone:
brand = brand_1
resp = VoiceResponse()
resp.play(brand.recording)
resp.record(maxLength="30")
recording_url = request.values.get("RecordingUrl", None)
brand.at.create('Leads', data = {'Phone':phone,'Campaign':campaign, 'Voicemail':recording_url})
return str(resp)
elif campaign == brand_2.phone:
brand = brand_2
resp = VoiceResponse()
resp.play(brand.recording)
resp.record(maxLength="30")
recording_url = request.values.get("RecordingUrl", None)
brand.at.create('Leads', data = {'Phone':phone,'Campaign':campaign, 'Voicemail':recording_url})
return str(resp)
elif campaign == brand_3.phone:
brand = brand_3
resp = VoiceResponse()
resp.play(brand.recording)
resp.record(maxLength="30")
recording_url = request.values.get("RecordingUrl", None)
brand.at.create('Leads', data = {'Phone':phone,'Campaign':campaign, 'Voicemail':recording_url})
return str(resp)
return "Success!"
正如你所看到的,我重複相同的代碼三次。它的工作原理,但它的醜陋和佔用空間,所以我想創建一個單獨的功能,看起來像這樣...
def voicemail(brand, phone, campaign):
resp = VoiceResponse()
resp.play(brand.recording)
resp.record(maxLength="30")
recording_url = request.values.get("RecordingUrl", None)
brand.at.create('Leads', data = {'Phone':phone,'Campaign':campaign, 'Voicemail':recording_url})
return str(resp)
所以我想有這個樣子......
@app.route("/call", methods=['GET', 'POST'])
def caller():
phone = request.values.get('From', None)
campaign = request.values.get('To')
if campaign == brand_1.phone:
brand = brand_1
voicemail(brand, phone, campaign)
elif campaign == brand_2.phone:
brand = brand_2
voicemail(brand, phone, campaign)
elif campaign == brand_3.phone:
brand = brand_3
voicemail(brand, phone, campaign)
return "Success!"
這似乎應該工作,但事實並非如此。 Twilio只是說「發生了應用程序錯誤」
我在這裏錯過什麼傢伙?
這樣做了。非常感謝! – freefly0313