• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1from autotest_lib.server import utils
2
3
4class InstallableObject(object):
5    """
6    This class represents a software package that can be installed on
7    a Host.
8
9    Implementation details:
10    This is an abstract class, leaf subclasses must implement the methods
11    listed here. You must not instantiate this class but should
12    instantiate one of those leaf subclasses.
13    """
14
15    source_material= None
16
17    def __init__(self):
18        super(InstallableObject, self).__init__()
19
20
21    def get(self, location):
22        """
23        Get the source material required to install the object.
24
25        Through the utils.get() function, the argument passed will be
26        saved in a temporary location on the LocalHost. That location
27        is saved in the source_material attribute.
28
29        Args:
30                location: the path to the source material. This path
31                        may be of any type that the utils.get()
32                        function will accept.
33        """
34        self.source_material= utils.get(location)
35
36
37    def install(self, host):
38        pass
39