summaryrefslogtreecommitdiffstats
path: root/browser/locales/generate_bookmarks.py
blob: 1b2002fcf9ca039643eb6519a78cf925c9f98b87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Generate bookmarks.html by interpolating the included (localized)
# `bookmarks.inc` file into the given (unlocalized) `bookmarks.html.in` input.

from __future__ import absolute_import, unicode_literals, print_function

import buildconfig
import sys

from mozbuild import preprocessor


def main(output, bookmarks_html_in, bookmarks_inc, locale=None):
    if not locale:
        raise ValueError("locale must be specified!")

    CONFIG = buildconfig.substs

    # Based on
    # https://searchfox.org/l10n-central/search?q=path%3Abookmarks.inc+%23if&redirect=true,
    # no localized input uses the preprocessor conditional #if (really,
    # anything but #define), so it's safe to restrict the set of defines to
    # what's used in mozilla-central directly.
    defines = {}
    defines["AB_CD"] = locale
    if defines["AB_CD"] == "ja-JP-mac":
        defines["AB_CD"] = "ja"

    defines["BOOKMARKS_INCLUDE_PATH"] = bookmarks_inc

    for var in ("NIGHTLY_BUILD",):
        if var in CONFIG:
            defines[var] = CONFIG[var]

    includes = preprocessor.preprocess(
        includes=[bookmarks_html_in], defines=defines, output=output
    )
    return includes


if __name__ == "__main__":
    main(sys.argv[1:])