patternpythonMinor
Regexes for Google App Engine
Viewed 0 times
engineregexesgoogleappfor
Problem
I want to review the URL routing for my appengine webapp:
Does it look alright to you? Can you recommend an improvement? Should I use the
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'
))Does it look alright to you? Can you recommend an improvement? Should I use the
'r prefix to my regexes?Solution
Have you considered using named Route templates instead of capturing regular expressions? It could make the code more readable. Consider
instead of
for example. (Of course, I don't know what kwargs
Route("/task/refresh-user/", RefreshUserHandler)instead of
(r'/task/refresh-user/(.*)', RefreshUserHandler)for example. (Of course, I don't know what kwargs
RefreshUser actually wants, but you can change the angle-bracketed part to the appropriate name.)Code Snippets
Route("/task/refresh-user/<username>", RefreshUserHandler)(r'/task/refresh-user/(.*)', RefreshUserHandler)Context
StackExchange Code Review Q#5817, answer score: 6
Revisions (0)
No revisions yet.