| Index: packager.py | 
| =================================================================== | 
| --- a/packager.py | 
| +++ b/packager.py | 
| @@ -3,17 +3,16 @@ | 
| # file, You can obtain one at http://mozilla.org/MPL/2.0/. | 
|  | 
| # Note: These are the base functions common to all packagers, the actual | 
| # packagers are implemented in packagerGecko and packagerChrome. | 
|  | 
| import sys | 
| import os | 
| import re | 
| -import codecs | 
| import subprocess | 
| import json | 
| import zipfile | 
| from StringIO import StringIO | 
| from chainedconfigparser import ChainedConfigParser | 
|  | 
| import buildtools | 
|  | 
| @@ -65,21 +64,22 @@ | 
| version += '.0' | 
| version += '.' + buildNum | 
| return version | 
|  | 
|  | 
| def getTemplate(template, autoEscape=False): | 
| import jinja2 | 
|  | 
| -    templatePath = buildtools.__path__[0] | 
| +    template_path = os.path.join(buildtools.__path__[0], 'templates') | 
| +    loader = jinja2.FileSystemLoader(template_path) | 
| if autoEscape: | 
| -        env = jinja2.Environment(loader=jinja2.FileSystemLoader(templatePath), autoescape=True) | 
| +        env = jinja2.Environment(loader=loader, autoescape=True) | 
| else: | 
| -        env = jinja2.Environment(loader=jinja2.FileSystemLoader(templatePath)) | 
| +        env = jinja2.Environment(loader=loader) | 
| env.filters.update({'json': json.dumps}) | 
| return env.get_template(template) | 
|  | 
|  | 
| class Files(dict): | 
| def __init__(self, includedFiles, ignoredFiles, process=None): | 
| self.includedFiles = includedFiles | 
| self.ignoredFiles = ignoredFiles | 
|  |