1234567891011121314151617181920212223242526272829 |
- class Package(object):
- """Abstract class for wrappers around objects that pip returns.
- This class needs to be subclassed with implementations for
- `render_as_root` and `render_as_branch` methods.
- """
- def __init__(self, obj):
- self._obj = obj
- self.project_name = obj.project_name
- self.key = obj.key
- def render_as_root(self, frozen):
- return NotImplementedError
- def render_as_branch(self, frozen):
- return NotImplementedError
- def render(self, parent=None, frozen=False):
- if not parent:
- return self.render_as_root(frozen)
- else:
- return self.render_as_branch(frozen)
- def __getattr__(self, key):
- return getattr(self._obj, key)
- def __repr__(self):
- return '<{0}("{1}")>'.format(self.__class__.__name__, self.key)
|