Refactored
This commit is contained in:
0
wo/cli/ext/__init__.py
Normal file
0
wo/cli/ext/__init__.py
Normal file
20
wo/cli/ext/wo_outputhandler.py
Normal file
20
wo/cli/ext/wo_outputhandler.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# Based on https://github.com/datafolklabs/cement/issues/295
|
||||
# To avoid encoding releated error,we defined our custom output handler
|
||||
# I hope we will remove this when we upgarde to Cement 2.6 (Not released yet)
|
||||
import os
|
||||
from cement.utils import fs
|
||||
from cement.ext.ext_mustache import MustacheOutputHandler
|
||||
|
||||
|
||||
class WOOutputHandler(MustacheOutputHandler):
|
||||
class Meta:
|
||||
label = 'wo_output_handler'
|
||||
|
||||
def _load_template_from_file(self, path):
|
||||
for templ_dir in self.app._meta.template_dirs:
|
||||
full_path = fs.abspath(os.path.join(templ_dir, path))
|
||||
if os.path.exists(full_path):
|
||||
self.app.log.debug('loading template file %s' % full_path)
|
||||
return open(full_path, encoding='utf-8', mode='r').read()
|
||||
else:
|
||||
continue
|
||||
Reference in New Issue
Block a user