diff options
| author | Tomás Touceda <chiiph@torproject.org> | 2012-01-04 13:14:08 -0300 | 
|---|---|---|
| committer | Tomás Touceda <chiiph@torproject.org> | 2012-01-04 13:14:08 -0300 | 
| commit | 62c2dd6e24f6ac0523fe7e1c16e1475b1988d61f (patch) | |
| tree | 3e3e0c000c9efb390b659fb0ecc8d77eeabdf960 /lib | |
| parent | c01e9c0bcef743442c8e44641b8cb0f51585eb6e (diff) | |
Add a thp_dest parameter to install package in custom locations
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/thandy/formats.py | 6 | ||||
| -rw-r--r-- | lib/thandy/packagesys/PackageSystem.py | 2 | ||||
| -rw-r--r-- | lib/thandy/packagesys/ThpPackages.py | 10 | 
3 files changed, 13 insertions, 5 deletions
| diff --git a/lib/thandy/formats.py b/lib/thandy/formats.py index 0a73ff4..6253678 100644 --- a/lib/thandy/formats.py +++ b/lib/thandy/formats.py @@ -746,7 +746,7 @@ def makePackageObj(config_fname, package_fname):                              'exe_registry_ent',                              'db_key', 'db_val',                              'command_install', 'command_remove', -                            'thp_name', 'thp_version', +                            'thp_name', 'thp_version', 'thp_dest'                              ], preload)      f = open(package_fname, 'rb') @@ -790,6 +790,10 @@ def makePackageObj(config_fname, package_fname):          if not r.get('thp_version'):              raise thandy.FormatException("missing thp_version value")          extra['thp_version'] = r['thp_version'] +        if not r.get('thp_dest'): +            extra['thp_dest'] = "" +        else: +            extra['thp_dest'] = r['thp_dest']      if r.get('command_install'):          extra['install_type'] = 'command' diff --git a/lib/thandy/packagesys/PackageSystem.py b/lib/thandy/packagesys/PackageSystem.py index b2e66a1..36af2f2 100644 --- a/lib/thandy/packagesys/PackageSystem.py +++ b/lib/thandy/packagesys/PackageSystem.py @@ -110,7 +110,7 @@ def getInstaller(relPath, extra, defaultFormat, package):      elif installType == 'thp':          import thandy.packagesys.ThpPackages          installer = thandy.packagesys.ThpPackages.ThpInstaller( -            relPath) +            relPath, extra['thp_dest'])      else:          return None diff --git a/lib/thandy/packagesys/ThpPackages.py b/lib/thandy/packagesys/ThpPackages.py index d90af0c..85a681b 100644 --- a/lib/thandy/packagesys/ThpPackages.py +++ b/lib/thandy/packagesys/ThpPackages.py @@ -213,9 +213,10 @@ class ThpTransaction(PS.Transaction):  class ThpInstaller(PS.Installer):      """ Represents an installer for an individual Thp package. """ -    def __init__(self, relPath, db = None, repoRoot = None): +    def __init__(self, relPath, db = None, repoRoot = None, dest = ""):          PS.Installer.__init__(self, relPath)          self._db = db +        self._dest = dest          self.setCacheRoot(repoRoot)          if db is None:              self._db = ThpDB() @@ -243,9 +244,12 @@ class ThpInstaller(PS.Installer):          self._db.insert(pkg_metadata)          self._db.statusInProgress(pkg_metadata) -        dir = os.path.join(self._thp_root, self._pkg.get("package_name")) +        if len(self._dest) == 0: +            dir = os.path.join(self._thp_root, self._pkg.get("package_name")) +        else: +            dir = os.path.join(self._thp_root, self._dest)          try: -            os.mkdir(dir) +            os.makedirs(dir)          except:              logging.info("%s: Already exists, using it." % dir) | 
