| 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 |