Я пытаюсь исправить встроенную в python инфраструктуру тестирования для javascript под названием mootools-test-runner (я разработчик внешнего вида днем, поэтому мои навыки работы с Python довольно слабые ... очень слабые).
Сценарий использования: мы хотим иметь возможность отправлять на сервер запрос json и задерживать его на x времени, прежде чем он возвращается - изначально он был написан для использования спящего метода, но это предотвратило несколько одновременных запросов. Оооо ... после около одного дня я пришел к следующему коду. Проблема, которую я вижу (хотя вполне может быть много проблем с моим кодом):
Представление test_runner.views.echo_json не возвращало объект HttpResponse.
если бы кто-нибудь мог дать какой-нибудь совет или указать мне правильное направление, я был бы очень благодарен - спасибо!
def echo_json(req, wasDelayed=False):
if req.REQUEST.get('delay') and wasDelayed == False:
sleeper(req, echo_jsonp)
else:
response = {}
callback = req.REQUEST.get('callback', False)
noresponse_eys = ['callback', 'delay']
for key, value in req.REQUEST.items():
if key not in noresponse_keys:
response.update({key: value})
response = simplejson.dumps(response)
if callback:
response = '%s(%s);' % (callback, response)
return HttpResponse(response, mimetype='application/javascript')
def sleeper(req, callback)
delay = float(req.REQUEST.get('delay'))
t = threading.Timer(delay, functools.partial(callback, req, true))
t.start()