如何测试app.yaml skip_files正则表达式是否与App Engine一起正常运行?

时间:2014-08-22 23:28:26

标签: macos google-app-engine terminal app.yaml

我有一个app.yaml skip_files元素:

skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$

如何准确列出要跳过的文件?我正在使用OSX,所以我的find util没有扩展正则表达式,据我所知。

3 个答案:

答案 0 :(得分:2)

使用选项-v运行appcfg.py。这将显示正在处理的每个文件,并告诉您是否由于skip_files而被跳过。

答案 1 :(得分:0)

正如文档所述:URL and file path patterns use POSIX extended regular expression syntax

因此,您可以使用POSIX正则表达式测试程序检查您的正则表达式是否按预期工作。例如。 http://www.rexv.org/

答案 2 :(得分:0)

如果您的问题是,"我如何确保我不会意外地拥有将被跳过的文件",那么一种方法是从SDK借用代码并编写脚本。看起来像FileIterator(在google / appengine / tools / appcfg.py中)可以满足您的需求。 (我有责任报告的警告是,FileIterator不是已发布的API,可能会随着App Engine团队的变化而改变。)

了解POSIX正则表达式可能会让您放心。您显示的列表会跳过编辑临时文件(1,2),. pyc和.pyo文件(3),RCS文件*(4)以及任何点文件(5)。

* RCS是一个老派版本控制系统。我只认识一个仍然使用它的人。如果您正在使用git,则.git(和内容)受dotfiles模式保护。