Регулярные выражения для приложения Google двигателя


Я хочу рассмотреть маршрутизации URL-адрес для моего appengine приложение:

routes = [
        (r'/', CyberFazeHandler),
        (r'/vi/(eyes|mouth|nose)', CyberFazeHandler),
        (r'/realtime', RealtimeHandler),
        (r'/task/refresh-user/(.*)', RefreshUserHandler),
        ('/ai', FileUploadFormHandler),
        ('/serve/([^/]+)?', ServeHandler),
        ('/upload', FileUploadHandler),
        ('/generate_upload_url', GenerateUploadUrlHandler),
        ('/file/([0-9]+)', FileInfoHandler),
        ('/file/set/([0-9]+)', SetCategoryHandler),
        ('/file/([0-9]+)/download', FileDownloadHandler),
        ('/file/([0-9]+)/success', AjaxSuccessHandler),
        ]

app = webapp2.WSGIApplication(routes,
            debug=os.environ.get('SERVER_SOFTWARE', '').startswith('Dev'
            ))

Это выглядит хорошо для вас? Можете ли вы порекомендовать улучшения? Я должен использовать префикс на мои регулярные выражения?



Комментарии
1 ответ

Вы рассматривали с помощью именованного маршрута шаблонов вместо захвата регулярных выражений? Это может сделать код более читабельным. Рассмотрим

Route("/task/refresh-user/<username>", RefreshUserHandler)

вместо

(r'/task/refresh-user/(.*)', RefreshUserHandler)

например. (Конечно, я не знаю, что kwargs RefreshUser на самом деле хочет, но вы можете изменить угол скобки часть с соответствующим названием.)

6
ответ дан 9 ноября 2011 в 04:11 Источник Поделиться