OLD | NEW |
1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 import re | 6 import re |
7 | 7 |
8 from xml.dom import minidom | 8 from xml.dom import minidom |
9 from grit.format.policy_templates.writers import xml_formatted_writer | 9 from grit.format.policy_templates.writers import xml_formatted_writer |
10 | 10 |
11 | 11 |
12 def GetWriter(config, messages): | 12 def GetWriter(config): |
13 '''Factory method for creating DocWriter objects. | 13 '''Factory method for creating DocWriter objects. |
14 See the constructor of TemplateWriter for description of | 14 See the constructor of TemplateWriter for description of |
15 arguments. | 15 arguments. |
16 ''' | 16 ''' |
17 return DocWriter(['*'], config, messages) | 17 return DocWriter(['*'], config) |
18 | 18 |
19 | 19 |
20 class DocWriter(xml_formatted_writer.XMLFormattedWriter): | 20 class DocWriter(xml_formatted_writer.XMLFormattedWriter): |
21 '''Class for generating policy templates in HTML format. | 21 '''Class for generating policy templates in HTML format. |
22 The intended use of the generated file is to upload it on | 22 The intended use of the generated file is to upload it on |
23 http://dev.chromium.org, therefore its format has some limitations: | 23 http://dev.chromium.org, therefore its format has some limitations: |
24 - No HTML and body tags. | 24 - No HTML and body tags. |
25 - Restricted set of element attributes: for example no 'class'. | 25 - Restricted set of element attributes: for example no 'class'. |
26 Because of the latter the output is styled using the 'style' | 26 Because of the latter the output is styled using the 'style' |
27 attributes of HTML elements. This is supported by the dictionary | 27 attributes of HTML elements. This is supported by the dictionary |
28 self._STYLES[] and the method self._AddStyledElement(), they try | 28 self._STYLES[] and the method self._AddStyledElement(), they try |
29 to mimic the functionality of CSS classes. (But without inheritance.) | 29 to mimic the functionality of CSS classes. (But without inheritance.) |
30 | 30 |
31 This class is invoked by PolicyTemplateGenerator to create the HTML | 31 This class is invoked by PolicyTemplateGenerator to create the HTML |
32 files. | 32 files. |
33 ''' | 33 ''' |
34 | 34 |
35 def _GetLocalizedMessage(self, msg_id): | 35 def _GetLocalizedMessage(self, msg_id): |
36 '''Returns a localized message for this writer. | 36 '''Returns a localized message for this writer. |
37 | 37 |
38 Args: | 38 Args: |
39 msg_id: The identifier of the message. | 39 msg_id: The identifier of the message. |
40 | 40 |
41 Returns: | 41 Returns: |
42 The localized message. | 42 The localized message. |
43 ''' | 43 ''' |
44 return self.messages['IDS_POLICY_DOC_' + msg_id.upper()] | 44 return self.messages['doc_' + msg_id]['text'] |
45 | 45 |
46 def _MapListToString(self, item_map, items): | 46 def _MapListToString(self, item_map, items): |
47 '''Creates a comma-separated list. | 47 '''Creates a comma-separated list. |
48 | 48 |
49 Args: | 49 Args: |
50 item_map: A dictionary containing all the elements of 'items' as | 50 item_map: A dictionary containing all the elements of 'items' as |
51 keys. | 51 keys. |
52 items: A list of arbitrary items. | 52 items: A list of arbitrary items. |
53 | 53 |
54 Returns: | 54 Returns: |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 } | 515 } |
516 | 516 |
517 # A simple regexp to search for URLs. It is enough for now. | 517 # A simple regexp to search for URLs. It is enough for now. |
518 self._url_matcher = re.compile('(http://[^\\s]*[^\\s\\.])') | 518 self._url_matcher = re.compile('(http://[^\\s]*[^\\s\\.])') |
519 | 519 |
520 def GetTemplateText(self): | 520 def GetTemplateText(self): |
521 # Return the text representation of the main <div> tag. | 521 # Return the text representation of the main <div> tag. |
522 return self._main_div.toxml() | 522 return self._main_div.toxml() |
523 # To get a complete HTML file, use the following. | 523 # To get a complete HTML file, use the following. |
524 # return self._doc.toxml() | 524 # return self._doc.toxml() |
OLD | NEW |