mozpack.packager 包

子模块

mozpack.packager.formats 模块

class mozpack.packager.formats.FlatFormatter(copier)

基类: PiecemealFormatter

用于扁平化包格式的格式化程序。

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)

基类: PiecemealFormatter

用于 jar 包格式的格式化程序。假设与 chrome 相关的清单条目在 chrome 数据文件添加之前已注册。还假设资源的清单条目在 chrome 清单条目之后注册。

class mozpack.packager.formats.JarSubFormatter(copier, compress=True)

基类: PiecemealFormatter

jar 包格式的子格式化程序。它是一个 PiecemealFormatter,根据路径将 chrome 数据分发到其他子格式化程序,并使用 FlatSubFormatter 处理非 chrome 文件。

add_manifest(entry)
class mozpack.packager.formats.OmniJarFormatter(copier, omnijar_name, compress=True, non_resources=())

基类: JarFormatter

用于 omnijar 包格式的格式化程序。

class mozpack.packager.formats.OmniJarSubFormatter(copier, omnijar_name, compress=True, non_resources=())

基类: PiecemealFormatter

omnijar 包格式的子格式化程序。它是一个 PiecemealFormatter,将资源数据分发到 FlatSubFormatter,并将其他文件分发到另一个 FlatSubFormatter。

add_manifest(entry)
is_resource(path)

返回给定路径是否对应于要放入 omnijar 归档文件中的资源。

class mozpack.packager.formats.PiecemealFormatter(copier)

基类: object

根据路径将数据分发到不同子格式化程序的通用格式化程序。

add(path, content)
add_base(base, addon=False)
add_interfaces(path, content)
add_manifest(entry)
contains(path)

mozpack.packager.l10n 模块

用 langpack 目录中的数据替换打包目录中的本地化部分。

mozpack.packager.l10n.FlatFormatter

L10NRepackFormatter 的别名

mozpack.packager.l10n.JarFormatter

L10NRepackFormatter 的别名

mozpack.packager.l10n.L10NRepackFormatter(klass)
class mozpack.packager.l10n.L10NRepackFormatterMixin(*args, **kwargs)

基类: object

add(path, file)
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)

用来自 l10nextra_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 文档。