OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 from file_system import FileNotFoundError | 5 from file_system import FileNotFoundError |
6 import logging | 6 import logging |
7 import re | 7 import re |
8 import string | 8 import string |
9 | 9 |
10 def _ClassifySchemaNode(node_name, api): | 10 def _ClassifySchemaNode(node_name, api): |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 "The Title". | 45 "The Title". |
46 """ | 46 """ |
47 | 47 |
48 # Matches after a $ref: that doesn't have []s. | 48 # Matches after a $ref: that doesn't have []s. |
49 _bare_ref = re.compile('\w+(\.\w+)*') | 49 _bare_ref = re.compile('\w+(\.\w+)*') |
50 | 50 |
51 class Factory(object): | 51 class Factory(object): |
52 def __init__(self, | 52 def __init__(self, |
53 api_data_source_factory, | 53 api_data_source_factory, |
54 api_list_data_source_factory, | 54 api_list_data_source_factory, |
55 object_store_creator_factory): | 55 object_store_creator): |
56 self._api_data_source_factory = api_data_source_factory | 56 self._api_data_source_factory = api_data_source_factory |
57 self._api_list_data_source_factory = api_list_data_source_factory | 57 self._api_list_data_source_factory = api_list_data_source_factory |
58 self._object_store_creator_factory = object_store_creator_factory | 58 self._object_store_creator = object_store_creator |
59 | 59 |
60 def Create(self): | 60 def Create(self): |
61 return ReferenceResolver( | 61 return ReferenceResolver( |
62 self._api_data_source_factory.Create(None, disable_refs=True), | 62 self._api_data_source_factory.Create(None, disable_refs=True), |
63 self._api_list_data_source_factory.Create(), | 63 self._api_list_data_source_factory.Create(), |
64 self._object_store_creator_factory.Create(ReferenceResolver).Create()) | 64 self._object_store_creator.Create(ReferenceResolver)) |
65 | 65 |
66 def __init__(self, api_data_source, api_list_data_source, object_store): | 66 def __init__(self, api_data_source, api_list_data_source, object_store): |
67 self._api_data_source = api_data_source | 67 self._api_data_source = api_data_source |
68 self._api_list_data_source = api_list_data_source | 68 self._api_list_data_source = api_list_data_source |
69 self._object_store = object_store | 69 self._object_store = object_store |
70 | 70 |
71 def _GetRefLink(self, ref, api_list, namespace, title): | 71 def _GetRefLink(self, ref, api_list, namespace, title): |
72 # Check nodes within each API the ref might refer to. | 72 # Check nodes within each API the ref might refer to. |
73 parts = ref.split('.') | 73 parts = ref.split('.') |
74 for i, part in enumerate(parts): | 74 for i, part in enumerate(parts): |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 ref = '' | 188 ref = '' |
189 rest = ref_and_rest | 189 rest = ref_and_rest |
190 else: | 190 else: |
191 ref = match.group() | 191 ref = match.group() |
192 rest = ref_and_rest[match.end():] | 192 rest = ref_and_rest[match.end():] |
193 | 193 |
194 ref_dict = self.SafeGetLink(ref, namespace=namespace, title=title) | 194 ref_dict = self.SafeGetLink(ref, namespace=namespace, title=title) |
195 formatted_text.append('<a href="%(href)s">%(text)s</a>%(rest)s' % | 195 formatted_text.append('<a href="%(href)s">%(text)s</a>%(rest)s' % |
196 { 'href': ref_dict['href'], 'text': ref_dict['text'], 'rest': rest }) | 196 { 'href': ref_dict['href'], 'text': ref_dict['text'], 'rest': rest }) |
197 return ''.join(formatted_text) | 197 return ''.join(formatted_text) |
OLD | NEW |