This file is indexed.

/usr/src/WrapITK/Python/itkLazy.py is in libinsighttoolkit3-dev 3.20.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import types, itkBase

not_loaded = 'not loaded'

class LazyITKModule(types.ModuleType):
  """Subclass of ModuleType that implements a custom __getattribute__ method
  to allow lazy-loading of attributes from ITK sub-modules."""
  def __init__(self, name, lazy_attributes):
    types.ModuleType.__init__(self, name)
    self.__lazy_attributes = lazy_attributes
    for k in lazy_attributes:
      setattr(self, k, not_loaded)
  def __getattribute__(self, attr):
    value = types.ModuleType.__getattribute__(self, attr)
    if value is not_loaded:
      module = self.__lazy_attributes[attr]
      namespace = {}
      itkBase.LoadModule(module, namespace)
      # Load into 'namespace' first, then self.__dict__ (via setattr) to 
      # prevent the warnings about overwriting the 'NotLoaded' values already 
      # in in self.__dict__ we would get if we just passed self.__dict__ to
      # itkBase.LoadModule.
      for k, v in namespace.items():
        setattr(self, k, v)
      value = namespace[attr]
    return value