chromium/tools/grit/grit/format/policy_templates_json.py

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Translates policy_templates.json files.
"""


from grit.node import structure


def Format(root, lang='en', output_dir='.'):
  policy_json = None
  for item in root.ActiveDescendants():
    with item:
      if (isinstance(item, structure.StructureNode) and
          item.attrs['type'] == 'policy_template_metafile'):
        json_text = item.gatherer.Translate(
            lang,
            pseudo_if_not_available=item.PseudoIsAllowed(),
            fallback_to_english=item.ShouldFallbackToEnglish())
        # We're only expecting one node of this kind.
        assert not policy_json
        policy_json = json_text
  return policy_json