~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/filters/__init__.py

  • Committer: Jelmer Vernooij
  • Date: 2012-04-02 01:44:26 UTC
  • mfrom: (6518 +trunk)
  • mto: This revision was merged to the branch mainline in revision 6519.
  • Revision ID: jelmer@samba.org-20120402014426-0o5qtysohyl006b2
merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
    registry,
51
51
    )
52
52
""")
 
53
from bzrlib.symbol_versioning import (
 
54
    deprecated_function,
 
55
    deprecated_in,
 
56
    )
53
57
 
54
58
 
55
59
class ContentFilter(object):
187
191
 
188
192
 
189
193
# The registry of filter stacks indexed by name.
190
 
# See register_filter_stack_map for details on the registered values.
191
 
_filter_stacks_registry = registry.Registry()
 
194
filter_stacks_registry = registry.Registry()
192
195
 
193
196
 
194
197
# Cache of preferences -> stack
196
199
_stack_cache = {}
197
200
 
198
201
 
 
202
# XXX: This function doesn't have any tests. JRV 2012-03-29
 
203
@deprecated_function(deprecated_in((2, 6, 0)))
199
204
def register_filter_stack_map(name, stack_map_lookup):
200
205
    """Register the filter stacks to use for various preference values.
201
206
 
205
210
      the result is the matching stack of filters to use,
206
211
      or None if none.
207
212
    """
208
 
    if name in _filter_stacks_registry:
209
 
        raise errors.BzrError(
210
 
            "filter stack for %s already installed" % name)
211
 
    _filter_stacks_registry.register(name, stack_map_lookup)
212
 
 
213
 
 
 
213
    filter_stacks_registry.register(name, stack_map_lookup)
 
214
 
 
215
 
 
216
# XXX: This function doesn't have any tests. JRV 2012-03-29
 
217
@deprecated_function(deprecated_in((2, 6, 0)))
214
218
def lazy_register_filter_stack_map(name, module_name, member_name):
215
219
    """Lazily register the filter stacks to use for various preference values.
216
220
 
219
223
    :param member_name: The name of the stack_map_lookup callable
220
224
      in the module.
221
225
    """
222
 
    if name in _filter_stacks_registry:
223
 
        raise errors.BzrError(
224
 
            "filter stack for %s already installed" % name)
225
 
    _filter_stacks_registry.register_lazy(name, module_name, member_name)
 
226
    filter_stacks_registry.register_lazy(name, module_name, member_name)
226
227
 
227
228
 
228
229
def _get_registered_names():
229
230
    """Get the list of names with filters registered."""
230
231
    # Note: We may want to intelligently order these later.
231
232
    # If so, the register_ fn will need to support an optional priority.
232
 
    return _filter_stacks_registry.keys()
 
233
    return filter_stacks_registry.keys()
233
234
 
234
235
 
235
236
def _get_filter_stack_for(preferences):
250
251
        if v is None:
251
252
            continue
252
253
        try:
253
 
            stack_map_lookup = _filter_stacks_registry.get(k)
 
254
            stack_map_lookup = filter_stacks_registry.get(k)
254
255
        except KeyError:
255
256
            # Some preferences may not have associated filters
256
257
            continue
273
274
    :param value: the value to set the registry to or None for an empty one.
274
275
    :return: the existing value before it reset.
275
276
    """
276
 
    global _filter_stacks_registry
277
 
    original = _filter_stacks_registry
 
277
    global filter_stacks_registry
 
278
    original = filter_stacks_registry
278
279
    if value is None:
279
 
        _filter_stacks_registry = registry.Registry()
 
280
        filter_stacks_registry = registry.Registry()
280
281
    else:
281
 
        _filter_stacks_registry = value
 
282
        filter_stacks_registry = value
282
283
    _stack_cache.clear()
283
284
    return original
284
285
 
285
286
 
286
 
lazy_register_filter_stack_map('eol', 'bzrlib.filters.eol', 'eol_lookup')
 
287
filter_stacks_registry.register_lazy('eol', 'bzrlib.filters.eol', 'eol_lookup')