0
主にutf-8でエンコードされたPythonプロジェクト用に私自身のcookiecutter templateを作成しています。しかし、ファイルには.ini
と.php
がiso-8859-1(latin1)でエンコードされています。このリソースは、従来のコードの一部であるため、latin1でエンコードする必要があります。もちろんiso-8859-1(latin1)文字を含むCookiecutterテンプレート
Traceback (most recent call last):
...
File ".../lib/python2.7/site-packages/cookiecutter/cli.py", line 123, in main
default_config=default_config,
File ".../lib/python2.7/site-packages/cookiecutter/main.py", line 91, in cookiecutter
output_dir=output_dir
File ".../lib/python2.7/site-packages/cookiecutter/generate.py", line 349, in generate_files
generate_file(project_dir, infile, context, env)
File ".../lib/python2.7/site-packages/cookiecutter/generate.py", line 166, in generate_file
tmpl = env.get_template(infile_fwd_slashes)
File ".../lib/python2.7/site-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File ".../lib/python2.7/site-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File ".../lib/python2.7/site-packages/jinja2/loaders.py", line 113, in load
source, filename, uptodate = self.get_source(environment, name)
File ".../lib/python2.7/site-packages/jinja2/loaders.py", line 175, in get_source
contents = f.read().decode(self.encoding)
File ".../lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 308: invalid continuation byte
、結果が部分的に生成され、ISO-8859の解析で中断された:私は、コード生成中に次のエラーいる
cookiecutter cookiecutter-mytemplate # <- directory of my project
:
は、私が実行すると、 -1ファイル(内側に "é"が付いています)。テンプレートを生成する前にリソースをutf-8に変換してからiso-8859-1に変換するためにプリ/ポストフックを使用できますか?そしてどうやって?
utf-8以外のファイルを処理する方法はありますか?