mozpack.packager 包¶
子模块¶
mozpack.packager.formats 模块¶
- class mozpack.packager.formats.FlatFormatter(copier)¶
-
用于扁平化包格式的格式化程序。
- class mozpack.packager.formats.FlatSubFormatter(copier)¶
基类:
object
扁平化包格式的子格式化程序。
- add(path, content)¶
- add_interfaces(path, content)¶
- add_manifest(entry)¶
- contains(path)¶
- class mozpack.packager.formats.JarFormatter(copier, compress=True)¶
-
用于 jar 包格式的格式化程序。假设与 chrome 相关的清单条目在 chrome 数据文件添加之前已注册。还假设资源的清单条目在 chrome 清单条目之后注册。
- class mozpack.packager.formats.JarSubFormatter(copier, compress=True)¶
-
jar 包格式的子格式化程序。它是一个 PiecemealFormatter,根据路径将 chrome 数据分发到其他子格式化程序,并使用 FlatSubFormatter 处理非 chrome 文件。
- add_manifest(entry)¶
- class mozpack.packager.formats.OmniJarFormatter(copier, omnijar_name, compress=True, non_resources=())¶
基类:
JarFormatter
用于 omnijar 包格式的格式化程序。
mozpack.packager.l10n 模块¶
用 langpack 目录中的数据替换打包目录中的本地化部分。
- mozpack.packager.l10n.FlatFormatter¶
L10NRepackFormatter
的别名
- mozpack.packager.l10n.JarFormatter¶
L10NRepackFormatter
的别名
- mozpack.packager.l10n.L10NRepackFormatter(klass)¶
- class mozpack.packager.l10n.LocaleManifestFinder(finder)¶
基类:
object
- mozpack.packager.l10n.OmniJarFormatter¶
L10NRepackFormatter
的别名
- mozpack.packager.l10n.repack(source, l10n, extra_l10n={}, non_resources=[], non_chrome={}, minify=False)¶
用来自 l10n 和 extra_l10n 的本地化数据替换 source 目录中的本地化数据。
source 参数指向包含打包应用程序(以 omnijar、jar 或 flat 格式)的目录。 l10n 参数指向包含要用于替换打包应用程序中的主要本地化数据(通常以语言包附加组件的形式)的目录。 extra_l10n 参数包含一个字典,将源中的相对路径关联到包含其本地化数据的单独目录。这可以用于指向包应用程序的不同部分的不同语言包附加组件。 non_resources 参数提供源中不应添加到 omnijar 中的相对路径列表(如果打包应用程序采用这种格式)。 non_chrome 参数提供未在 chrome.manifest 中列出的本地化文件的目录/文件模式列表。如果 minify 为 True,则会压缩 .properties 文件。
mozpack.packager.unpack 模块¶
- class mozpack.packager.unpack.UnpackFinder(source, omnijar_name=None, unpack_xpi=True, **kwargs)¶
基类:
BaseFinder
特殊的 Finder 对象,将源包目录视为扁平化 chrome 格式,无论其实际 chrome 格式是什么。
这意味着,例如,chrome/browser/content/… 这样的路径在 jar chrome 格式的情况下匹配 jar:chrome/browser.jar!/content/… 下的文件。
构造函数的唯一参数是 Finder 实例或路径。UnpackFinder 用来自此 Finder 实例的文件填充,或使用给定路径作为其根目录的文件填充 FileFinder。
- find(path)¶
为基本目录及其子目录下与给定模式匹配的所有文件生成 path、BaseFile_instance 对。有关处理模式的说明,请参阅 mozpack.path.match 文档。
- mozpack.packager.unpack.unpack(source, omnijar_name=None)¶
将 jar chrome 或 omnijar 打包的目录转换为扁平包。
- mozpack.packager.unpack.unpack_to_registry(source, registry, omnijar_name=None)¶
将 jar chrome 或 omnijar 打包的目录转换为扁平包。
给定的注册表将填充扁平包。
模块内容¶
- class mozpack.packager.CallDeque¶
基类:
deque
要执行的函数调用队列。
- append(function, *args)¶
在双端队列的右侧添加一个元素。
- execute()¶
- class mozpack.packager.Component(name, destdir='')¶
基类:
object
表示包清单中组件的类。
- KEY_VALUE_RE = re.compile('\n \\s* # 可选 空格。 ([a-zA-Z0-9_]+) # 键。 \\s*=\\s* # = 周围的 可选 空格。 "([^"]*)" # 没有 周围 的 值, re.VERBOSE)¶
- property destdir¶
- static from_string(string)¶
从字符串创建组件。
- property name¶
- class mozpack.packager.PackageManifestParser(sink)¶
基类:
object
用于解析包清单(预处理后)的类。
- 包清单是文件路径列表,具有一些语法糖
[] 表示顶级组件。示例:[xpcom] - 在文件前面指定要删除的文件 * 通配符支持 ** 扩展到所有文件和零个或多个目录 ; 文件注释
解析器逐行接收预处理器输入,并将解析的信息推送到接收器对象。
接收器对象的 add 和 remove 方法将使用当前 Component 实例和路径进行调用。
- handle_line(str)¶
处理输入行并将解析的信息推送到接收器对象。
- class mozpack.packager.PreprocessorOutputWrapper(preprocessor, parser)¶
基类:
object
文件类助手,用于处理预处理器输出并将其发送到解析器。解析器的 handle_line 方法在相关错误上下文中被调用。
- write(str)¶
- class mozpack.packager.SimpleManifestSink(finder, formatter)¶
基类:
object
用于“简单”包清单的解析器接收器。简单包清单使用 PackageManifestParser 文档中描述的格式,但不支持文件删除,并要求显式列出清单、接口和 chrome 数据。以 bin/ 开头的条目在 FileFinder 中的 bin/ 下搜索,但打包时不带 bin/ 前缀。
- add(component, pattern)¶
在给定组件中添加具有给定模式的文件。
- close(auto_root_manifest=True)¶
添加可能缺少的部分并将所有指令推送到格式化程序。
- static normalize_path(path)¶
删除任何 bin/ 前缀。
- remove(component, pattern)¶
在给定组件中删除具有给定模式的文件。
- class mozpack.packager.SimplePackager(formatter)¶
基类:
object
用于将 SimpleManifestSink 的指令转换为格式化程序并进行缓冲的助手。格式化程序期望首先提供一些信息,而简单清单内容在输入结束前无法保证。
- UNPACK_ADDON_RE = re.compile('(?:\n <em:unpack>true</em:unpack>\n |em:unpack=(?P<quote>["\']?)true(?P=quote)\n )', re.VERBOSE)¶
- add(path, file)¶
使用给定路径添加给定的 BaseFile 实例。
- close()¶
将所有指令推送到格式化程序。
- get_bases(addons=True)¶
返回已找到根清单的所有路径。根清单是在任何其他清单中都不包含的清单。addons 指示是否也包括附加组件基路径。
- mozpack.packager.preprocess(input, parser, defines={})¶
使用给定的定义预处理文件类输入,并将预处理后的输出逐行发送到给定的解析器。
- mozpack.packager.preprocess_manifest(sink, manifest, defines={})¶
使用给定的定义预处理给定的文件类清单,并将解析的信息推送到接收器。有关接收器的更多详细信息,请参阅 PackageManifestParser 文档。