blob: 3c61e05c055c08d19de7acd8a5a854f34ae617fd [file] [log] [blame]
#!/usr/bin/python
#
# Copyright 2007 Google Inc. Released under the GPL v2
"""
This module defines the InstallableObject class
InstallableObject: a software package that can be installed on a Host
"""
__author__ = """
[email protected] (Martin J. Bligh),
[email protected] (Benjamin Poirier),
[email protected] (Ryan Stutsman)
"""
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