Index: packagerChrome.py |
=================================================================== |
--- a/packagerChrome.py |
+++ b/packagerChrome.py |
@@ -34,7 +34,7 @@ |
return result |
def getPackageFiles(params): |
- result = set(('_locales', 'icons', 'jquery-ui', 'lib', 'skin', 'ui',)) |
+ result = set(('_locales', 'icons', 'jquery-ui', 'lib', 'skin', 'ui', 'ext')) |
if params['devenv']: |
result.add('qunit') |
@@ -160,6 +160,23 @@ |
sourceFiles = map(lambda f: os.path.abspath(os.path.join(baseDir, f)), sourceFiles) |
files[file] = doRewrite(sourceFiles, args) |
+def convertFirstRunPage(params, files): |
+ import jinja2 |
+ |
+ env = jinja2.Environment( |
+ block_start_string='<!-- {%', |
+ block_end_string='%} -->', |
+ variable_start_string='<!-- {{', |
+ variable_end_string='}} -->', |
+ comment_start_string='<-- {#', |
+ comment_end_string='#} -->', |
+ |
+ trim_blocks=True, |
+ lstrip_blocks=True |
+ ) |
+ |
+ files['firstRun.html'] = env.from_string(files['firstRun.html']).render(type=params['type']) |
Wladimir Palant
2013/10/30 13:36:01
Hardcoding the file here that needs to be passed t
|
+ |
def importGeckoLocales(params, files): |
import localeTools |
@@ -279,10 +296,14 @@ |
files[operaFile] = files[chromeFile] |
del files[chromeFile] |
- # Hack: Replace "Chrome" by "Opera" in the locales |
+ if params['type'] in ('opera', 'safari'): |
+ # Hack: Replace "Chrome" by "Opera" or "Safari" in the locales |
for path, data in files.iteritems(): |
if path.startswith("_locales/") and path.endswith("/messages.json"): |
- files[path] = re.sub(r"\bChrome\b", "Opera", data) |
+ # Hack: There is exactly one text (in the first run page) that contains |
+ # "Google Chrome" and means Google Chrome, even though it is only shown |
+ # on Safari. |
+ files[path] = re.sub(r"\b(?<!Google )Chrome\b", params['type'].capitalize(), data) |
Wladimir Palant
2013/10/30 13:36:01
Ouch, we should really get rid of this hack... How
Sebastian Noack
2013/10/30 16:12:10
I don't like that hack too, and would like to see
Wladimir Palant
2013/10/30 16:21:38
Actually, given that you made the hack likely to e
|
def signBinary(zipdata, keyFile): |
import M2Crypto |
@@ -335,6 +356,13 @@ |
if metadata.has_section('convert_js'): |
convertJS(params, files) |
+ if metadata.has_section('convert_img'): |
+ from imageConversion import convertImages |
+ convertImages(params, files) |
+ |
+ if 'firstRun.html' in files: |
+ convertFirstRunPage(params, files) |
+ |
if metadata.has_section('import_locales'): |
importGeckoLocales(params, files) |