File: /home/thehunarfound/public_html/DMS/node_modules/snyk-python-plugin/plug/package.py
import pip
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)
@staticmethod
def frozen_repr(obj):
fr = pip.FrozenRequirement.from_dist(obj, [])
return str(fr).strip()
def __getattr__(self, key):
return getattr(self._obj, key)
def __repr__(self):
return '<{0}("{1}")>'.format(self.__class__.__name__, self.key)