Я разрабатываю приложение на Google App Engine с использованием Python.
У меня есть обработчик, который может возвращать различные выходные данные (html и json на данный момент), я проверяю наличие явных ошибок в системе на основании неверных параметров, отправленных обработчику запросов.
Однако то, что я делаю, кажется грязным (см. Ниже):
class FeedHandler(webapp.RequestHandler):
def get(self):
app = self.request.get("id")
name = self.request.get("name")
output_type = self.request.get("output", default_value = "html")
pretty = self.request.get("pretty", default_value = "")
application = model.Application.GetByKey(app)
if application is None:
if output_type == "json":
self.response.out.write(simplejson.dumps({ "errorCode" : "Application not found."}))
self.set_status(404)
return
category = model.FeedCategory.GetByKey(application, name)
if category is None:
if output_type == "json":
self.response.out.write(simplejson.dumps({ "errorCode" : "Category not found."}))
self.set_status(404)
return
Я специально занимаюсь делами для каждого типа вывода, а также для каждого "утверждения".
Я заинтересован в предложениях, схемах и примерах, как это прояснить (я знаю, что пытаться и поддерживать то, что я делаю, будет кошмаром).
Я играю над идеей иметь и создавать пользовательские исключения и иметь декоратор, который автоматически решает, как отображать сообщения об ошибках - я думаю, что это хорошая идея, но я хотел бы получить отзывы и предложения на основе о том, как люди делали это в прошлом.