| #!/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 |