'int': 'integer',
'int-enum': 'integer',
'string-enum': 'string',
+ 'string-enum-list': 'array',
'main': 'boolean',
'list': 'array',
'dict': 'dictionary',
self.AddElement(parent, 'key', {}, key_string)
self.AddElement(parent, 'string', {}, value_string)
- def _AddTargets(self, parent):
+ def _AddTargets(self, parent, policy):
'''Adds the following XML snippet to an XML element:
<key>pfm_targets</key>
<array>
parent: The parent XML element where the snippet will be added.
'''
array = self._AddKeyValuePair(parent, 'pfm_targets', 'array')
- self.AddElement(array, 'string', {}, 'user-managed')
+ if self.CanBeRecommended(policy):
+ self.AddElement(array, 'string', {}, 'user')
+ if self.CanBeMandatory(policy):
+ self.AddElement(array, 'string', {}, 'user-managed')
def PreprocessPolicies(self, policy_list):
return self.FlattenGroupsAndSortPolicies(policy_list)
# Those files are generated by plist_strings_writer.
self._AddStringKeyValuePair(dict, 'pfm_description', '')
self._AddStringKeyValuePair(dict, 'pfm_title', '')
- self._AddTargets(dict)
+ self._AddTargets(dict, policy)
self._AddStringKeyValuePair(dict, 'pfm_type',
self.TYPE_TO_INPUT[policy_type])
if policy_type in ('int-enum', 'string-enum'):
else:
element_type = 'string'
self.AddElement(range_list, element_type, {}, str(item['value']))
- elif policy_type == 'list':
+ elif policy_type in ('list', 'string-enum-list'):
subkeys = self._AddKeyValuePair(dict, 'pfm_subkeys', 'array')
subkeys_dict = self.AddElement(subkeys, 'dict')
subkeys_type = self._AddKeyValuePair(subkeys_dict, 'pfm_type', 'string')
self._array = self._AddKeyValuePair(dict, 'pfm_subkeys', 'array')
- def Init(self):
+ def CreatePlistDocument(self):
dom_impl = minidom.getDOMImplementation('')
doctype = dom_impl.createDocumentType(
'plist',
'-//Apple//DTD PLIST 1.0//EN',
'http://www.apple.com/DTDs/PropertyList-1.0.dtd')
- self._doc = dom_impl.createDocument(None, 'plist', doctype)
+ return dom_impl.createDocument(None, 'plist', doctype)
+
+ def Init(self):
+ self._doc = self.CreatePlistDocument()
self._plist = self._doc.documentElement
def GetTemplateText(self):