GAEで作ったアプリケーションで、URLに「-」が含まれているとエラーが発生。
なんでかな、と調べまくってみたら、WSGIApplicationの振り分けで指定する正規表現が間違っていた。つまり、私が間違えていた。
ちなみにURLは、/imgs/<DataStoreのKey値> を想定している。
修正前:
application = webapp.WSGIApplication([('/', MainPage),
('/imgs/(\w+)', OutputFile),
・・・
修正後
application = webapp.WSGIApplication([('/', MainPage),
('/imgs/([\w\-]+)', OutputFile),.
・・・
DataStoreが自動生成するKeyにはハイフン「-」が含まれることがあり、修正前の「\w+」では、ハイフンが含まれた文字列にマッチできないのだ。\wの部分を[\w\-」とすることで、希望の動作をさせることができた。
今回のことで、私はいろんなことがわかっていないが、正規表現のこともわかっていないんだな、ということがわかった。精進したい。