Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / grit / grit / format / policy_templates / writers / json_writer.py
index 4739483..673bbf7 100644 (file)
@@ -3,6 +3,8 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import json
+
 from textwrap import TextWrapper
 from grit.format.policy_templates.writers import template_writer
 
@@ -38,28 +40,10 @@ class JsonWriter(template_writer.TemplateWriter):
     return self.FlattenGroupsAndSortPolicies(policy_list)
 
   def WritePolicy(self, policy):
-    example_value = policy['example_value']
-    if policy['type'] == 'string':
-      example_value_str = '"' + example_value + '"'
-    elif policy['type'] in ('int', 'int-enum', 'dict'):
-      example_value_str = str(example_value)
-    elif policy['type'] == 'list':
-      if example_value == []:
-        example_value_str = '[]'
-      else:
-        example_value_str = '["%s"]' % '", "'.join(example_value)
-    elif policy['type'] == 'main':
-      if example_value == True:
-        example_value_str = 'true'
-      else:
-        example_value_str = 'false'
-    elif policy['type'] == 'string-enum':
-      example_value_str = '"%s"' % example_value;
-    elif policy['type'] == 'external':
+    if policy['type'] == 'external':
       # This type can only be set through cloud policy.
       return
-    else:
-      raise Exception('unknown policy type %s:' % policy['type'])
+    example_value_str = json.dumps(policy['example_value'], sort_keys=True)
 
     # Add comma to the end of the previous line.
     if not self._first_written: