You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
from autotest_lib.server import utils
|
|
|
|
|
|
class InstallableObject(object):
|
|
"""
|
|
This class represents a software package that can be installed on
|
|
a Host.
|
|
|
|
Implementation details:
|
|
This is an abstract class, leaf subclasses must implement the methods
|
|
listed here. You must not instantiate this class but should
|
|
instantiate one of those leaf subclasses.
|
|
"""
|
|
|
|
source_material= None
|
|
|
|
def __init__(self):
|
|
super(InstallableObject, self).__init__()
|
|
|
|
|
|
def get(self, location):
|
|
"""
|
|
Get the source material required to install the object.
|
|
|
|
Through the utils.get() function, the argument passed will be
|
|
saved in a temporary location on the LocalHost. That location
|
|
is saved in the source_material attribute.
|
|
|
|
Args:
|
|
location: the path to the source material. This path
|
|
may be of any type that the utils.get()
|
|
function will accept.
|
|
"""
|
|
self.source_material= utils.get(location)
|
|
|
|
|
|
def install(self, host):
|
|
pass
|