| Index: packagerChrome.py |
| =================================================================== |
| --- a/packagerChrome.py |
| +++ b/packagerChrome.py |
| @@ -20,6 +20,7 @@ |
| import packager |
| from packager import readMetadata, getMetadataPath, getDefaultFileName, getBuildVersion, getTemplate, Files |
| +from imageConversion import convertImages, getImageSize |
| defaultLocale = 'en_US' |
| @@ -50,7 +51,7 @@ |
| # that it can be overridden if necessary. |
| return data |
| -def createManifest(params): |
| +def createManifest(params, files): |
| template = getTemplate('manifest.json.tmpl') |
| templateData = dict(params) |
| @@ -73,18 +74,11 @@ |
| if metadata.has_option('general', 'icons'): |
| icons = {} |
| - iconsDir = baseDir |
| - for dir in metadata.get('general', 'icons').split('/')[0:-1]: |
| - iconsDir = os.path.join(iconsDir, dir) |
| - |
| - prefix, suffix = metadata.get('general', 'icons').split('/')[-1].split('?', 1) |
| - for file in os.listdir(iconsDir): |
| - path = os.path.join(iconsDir, file) |
| - if os.path.isfile(path) and file.startswith(prefix) and file.endswith(suffix): |
| - size = file[len(prefix):-len(suffix)] |
| - if not re.search(r'\D', size): |
| - icons[size] = os.path.relpath(path, baseDir).replace('\\', '/') |
| - |
| + for icon in re.split('\s+', metadata.get('general', 'icons')): |
| + iconSize = getImageSize(files[icon]) |
|
Wladimir Palant
2014/03/19 12:11:48
Please use destructuring assignment here, that's e
saroyanm
2014/03/19 14:54:18
Done.
|
| + if(iconSize[0] != iconSize[1]): |
| + print 'Warning: %s size is %ix%i, icon should be square' % (icon, iconSize[0], iconSize[1]) |
| + icons[iconSize[0]] = icon |
| templateData['icons'] = icons |
| if metadata.has_option('general', 'permissions'): |
| @@ -345,7 +339,7 @@ |
| files = Files(getPackageFiles(params), getIgnoredFiles(params), |
| process=lambda path, data: processFile(path, data, params)) |
| - files['manifest.json'] = createManifest(params) |
| + |
| if metadata.has_section('mapping'): |
| files.readMappedFiles(metadata.items('mapping')) |
| files.read(baseDir) |
| @@ -354,7 +348,6 @@ |
| convertJS(params, files) |
| if metadata.has_section('convert_img'): |
| - from imageConversion import convertImages |
| convertImages(params, files) |
| if metadata.has_section('preprocess'): |
| @@ -365,7 +358,8 @@ |
| if metadata.has_section('import_locales'): |
| importGeckoLocales(params, files) |
| - |
| + |
| + files['manifest.json'] = createManifest(params, files) |
| fixMissingTranslations(files) |
| if devenv: |