85 lines
2.8 KiB
Python
85 lines
2.8 KiB
Python
# Any copyright is dedicated to the Public Domain.
|
|
# http://creativecommons.org/publicdomain/zero/1.0/
|
|
|
|
import fluent.syntax.ast as FTL
|
|
from fluent.migrate.helpers import VARIABLE_REFERENCE
|
|
from fluent.migrate.transforms import COPY, REPLACE
|
|
|
|
|
|
def migrate(ctx):
|
|
"""Bug 1959147 - Migrate XSLT errors to Fluent, part {index}."""
|
|
|
|
xslt_source = "dom/chrome/xslt/xslt.properties"
|
|
global_strres_source = "dom/chrome/global-strres.properties"
|
|
target = "dom/dom/xslt.ftl"
|
|
|
|
xslt_errors = {
|
|
"xslt-parse-failure": "1",
|
|
"xpath-parse-failure": "2",
|
|
# 3 (NS_ERROR_XSLT_ALREADY_SET) is empty in xslt.properties.
|
|
# It seems it is always replaced with NS_ERROR_XSLT_VAR_ALREADY_SET.
|
|
"xslt-execution-failure": "4",
|
|
"xpath-unknown-function": "5",
|
|
"xslt-bad-recursion": "6",
|
|
"xslt-bad-value": "7",
|
|
"xslt-nodeset-expected": "8",
|
|
"xslt-aborted": "9",
|
|
"xslt-network-error": "10",
|
|
"xslt-wrong-mime-type": "11",
|
|
"xslt-load-recursion": "12",
|
|
"xpath-bad-argument-count": "13",
|
|
"xpath-bad-extension-function": "14",
|
|
"xpath-paren-expected": "15",
|
|
"xpath-invalid-axis": "16",
|
|
"xpath-no-node-type-test": "17",
|
|
"xpath-bracket-expected": "18",
|
|
"xpath-invalid-var-name": "19",
|
|
"xpath-unexpected-end": "20",
|
|
"xpath-operator-expected": "21",
|
|
"xpath-unclosed-literal": "22",
|
|
"xpath-bad-colon": "23",
|
|
"xpath-bad-bang": "24",
|
|
"xpath-illegal-char": "25",
|
|
"xpath-binary-expected": "26",
|
|
"xslt-load-blocked-error": "27",
|
|
"xpath-invalid-expression-evaluated": "28",
|
|
"xpath-unbalanced-curly-brace": "29",
|
|
"xslt-bad-node-name": "30",
|
|
"xslt-var-already-set": "31",
|
|
"xslt-call-to-key-not-allowed": "32",
|
|
}
|
|
ctx.add_transforms(
|
|
target,
|
|
target,
|
|
[
|
|
FTL.Message(id=FTL.Identifier(ftl_id), value=COPY(xslt_source, prop_id))
|
|
for ftl_id, prop_id in xslt_errors.items()
|
|
],
|
|
)
|
|
|
|
ctx.add_transforms(
|
|
target,
|
|
target,
|
|
[
|
|
FTL.Message(
|
|
id=FTL.Identifier("xslt-unknown-error"),
|
|
value=REPLACE(
|
|
global_strres_source,
|
|
"16389",
|
|
{"%1$S": VARIABLE_REFERENCE("errorCode")},
|
|
),
|
|
),
|
|
FTL.Message(
|
|
id=FTL.Identifier("xslt-loading-error"),
|
|
value=REPLACE(
|
|
xslt_source, "LoadingError", {"%1$S": VARIABLE_REFERENCE("error")}
|
|
),
|
|
),
|
|
FTL.Message(
|
|
id=FTL.Identifier("xslt-transform-error"),
|
|
value=REPLACE(
|
|
xslt_source, "TransformError", {"%1$S": VARIABLE_REFERENCE("error")}
|
|
),
|
|
),
|
|
],
|
|
)
|