| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 import json | 5 import json |
| 6 import logging | 6 import logging |
| 7 import os | 7 import os |
| 8 import re | 8 import re |
| 9 | 9 |
| 10 | 10 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 return self._rules | 118 return self._rules |
| 119 | 119 |
| 120 @property | 120 @property |
| 121 def version(self): | 121 def version(self): |
| 122 return self._version | 122 return self._version |
| 123 | 123 |
| 124 @property | 124 @property |
| 125 def components(self): | 125 def components(self): |
| 126 return self._components | 126 return self._components |
| 127 | 127 |
| 128 def find_rule(self, component_name): | 128 def find_rule(self, component_name, after_rule=None): |
| 129 """Finds a rule whose name is |component_name|. """ | 129 """Finds a rule whose name is |component_name|. |
| 130 |
| 131 If there are multiple rules with same component name, |
| 132 use |after_rule| to search the rule after it. |
| 133 """ |
| 134 found_after_rule = False |
| 130 for rule in self._rules: | 135 for rule in self._rules: |
| 136 if after_rule and not found_after_rule: |
| 137 if rule == after_rule: |
| 138 found_after_rule = True |
| 139 continue |
| 140 |
| 131 if rule.name == component_name: | 141 if rule.name == component_name: |
| 132 return rule | 142 return rule |
| 133 return None | 143 return None |
| 134 | 144 |
| 135 def find_malloc(self, bucket): | 145 def find_malloc(self, bucket): |
| 136 """Finds a matching component name which a given |bucket| belongs to. | 146 """Finds a matching component name which a given |bucket| belongs to. |
| 137 | 147 |
| 138 Args: | 148 Args: |
| 139 bucket: A Bucket object to be searched for. | 149 bucket: A Bucket object to be searched for. |
| 140 | 150 |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 @staticmethod | 409 @staticmethod |
| 400 def _load_policies(directory): | 410 def _load_policies(directory): |
| 401 LOGGER.info('Loading policy files.') | 411 LOGGER.info('Loading policy files.') |
| 402 policies = {} | 412 policies = {} |
| 403 for label in directory: | 413 for label in directory: |
| 404 LOGGER.info(' %s: %s' % (label, directory[label]['file'])) | 414 LOGGER.info(' %s: %s' % (label, directory[label]['file'])) |
| 405 loaded = Policy.load(directory[label]['file'], directory[label]['format']) | 415 loaded = Policy.load(directory[label]['file'], directory[label]['format']) |
| 406 if loaded: | 416 if loaded: |
| 407 policies[label] = loaded | 417 policies[label] = loaded |
| 408 return PolicySet(policies) | 418 return PolicySet(policies) |
| OLD | NEW |