[pkg-eucalyptus-commits] [SCM] managing cloud instances for Eucalyptus branch, master, updated. 3.0.0-alpha3-257-g1da8e3a

Matt Spaulding mspaulding06 at gmail.com
Sun Jun 16 02:31:20 UTC 2013


The following commit has been merged in the master branch:
commit 308bbbd0215e4e7b71f9f3d32901cede4d10a9f4
Author: Matt Spaulding <mspaulding06 at gmail.com>
Date:   Wed May 8 15:21:51 2013 -0700

    A little bit of cleanup
    
    * Use code attribute on AWSError object
    * Use format for strings
    * Misc cleanup

diff --git a/euca2ools/commands/bundle/deletebundle.py b/euca2ools/commands/bundle/deletebundle.py
index 57271be..e508e00 100644
--- a/euca2ools/commands/bundle/deletebundle.py
+++ b/euca2ools/commands/bundle/deletebundle.py
@@ -38,8 +38,6 @@ from euca2ools.commands.walrus import WalrusRequest
 from euca2ools.commands.walrus.checkbucket import CheckBucket
 from euca2ools.commands.walrus.deletebucket import DeleteBucket
 from euca2ools.commands.walrus.deleteobject import DeleteObject
-from euca2ools.commands.walrus.getobject import GetObject
-from euca2ools.commands.walrus.listbucket import ListBucket
 from euca2ools.exceptions import AWSError
 from requestbuilder import Arg, MutuallyExclusiveArgList
 from requestbuilder.exceptions import ArgumentError
@@ -49,7 +47,6 @@ import shutil
 import sys
 import tempfile
 import time
-from xml.dom import minidom
 
 
 class DeleteBundle(WalrusRequest):
@@ -83,7 +80,8 @@ class DeleteBundle(WalrusRequest):
     def _delete_by_local_manifest(self):
         manifest_path = self.args.get('manifest_path')
         if not os.path.isfile(manifest_path):
-            raise ArgumentError("manifest file '%s' does not exist." % manifest_path)
+            raise ArgumentError(
+                "manifest file '{0}' does not exist.".format(manifest_path))
         manifest_keys = [os.path.basename(manifest_path)]
         directory = os.path.dirname(manifest_path) or '.'
         # When we use a local manifest file, we should still check if there is
@@ -92,7 +90,7 @@ class DeleteBundle(WalrusRequest):
         try:
             self._delete_manifest_keys(manifest_keys)
         except AWSError as err:
-            if err[2] == 'NoSuchEntity':
+            if err.code == 'NoSuchEntity':
                 pass
             else:
                 raise
@@ -102,15 +100,14 @@ class DeleteBundle(WalrusRequest):
         bucket = self.args.get('bucket')
         directory = tempfile.mkdtemp()
         try:
-            manifest_keys = ['%s.manifest.xml' % self.args.get('prefix')]
+            manifest_keys = ["{0}.manifest.xml".format(self.args.get('prefix'))]
             try:
                 download_files(bucket, manifest_keys, directory,
                                service=self.service, config=self.config)
             except AWSError as err:
-                if err[2] == 'NoSuchEntity':
-                    raise ArgumentError("manifest file '%s' does not exist in "
-                                        "bucket '%s'."
-                                        % (manifest_keys[0], bucket))
+                if err.code == 'NoSuchEntity':
+                    error = "manifest file '{0}' does not exist in bucket '{1}'."
+                    raise ArgumentError(error.format(manifest_keys[0], bucket))
                 else:
                     raise
             self._delete_manifest_parts(manifest_keys, directory)
@@ -120,8 +117,8 @@ class DeleteBundle(WalrusRequest):
 
     def _delete_all_bundles(self):
         bucket = self.args.get('bucket')
-        print >> sys.stderr, """All bundles in bucket '%s' will be deleted.
-If this is not what you want, press Ctrl+C in the next 10 seconds""" % bucket
+        print >> sys.stderr, """All bundles in bucket '{0}' will be deleted.
+If this is not what you want, press Ctrl+C in the next 10 seconds""".format(bucket)
         try:
             for _ in range(10):
                 sys.stderr.write('.')
diff --git a/euca2ools/commands/bundle/downloadbundle.py b/euca2ools/commands/bundle/downloadbundle.py
index 7b518d2..f96ceda 100644
--- a/euca2ools/commands/bundle/downloadbundle.py
+++ b/euca2ools/commands/bundle/downloadbundle.py
@@ -68,27 +68,36 @@ class DownloadBundle(WalrusRequest):
     def _download_by_local_manifest(self, directory):
         manifest_path = self.args.get('manifest_path')
         if not os.path.isfile(manifest_path):
-            raise ArgumentError("manifest file '%s' does not exist." % manifest_path)
+            raise ArgumentError(
+                "manifest file '{0}' does not exist.".format(manifest_path))
         manifest_key = os.path.basename(manifest_path)
         if not os.path.exists(os.path.join(directory, manifest_key)):
-            shutil.copyfile(manifest_path, directory)
-        self._download_parts(manifest_key, directory)
+            shutil.copy(manifest_path, directory)
+        self._download_parts([manifest_key], directory)
 
     def _download_by_prefix(self, directory):
         bucket = self.args.get('bucket')
         prefix = self.args.get('prefix')
         manifest_keys = get_manifest_keys(bucket, prefix, service=self.service,
                                           config=self.config)
+        if not manifest_keys:
+            if prefix:
+                raise ArgumentError(
+                    "no manifests found with prefix '{0}' in bucket '{1}'."
+                    .format(prefix, bucket))
+            else:
+                raise ArgumentError("no manifests found in bucket '{0}'."
+                                    .format(bucket))
         try:
             download_files(bucket, manifest_keys, directory,
                            service=self.service, config=self.config,
                            show_progress=self.args.get('show_progress', True))
         except AWSError as err:
-            if err[2] != 'NoSuchEntity':
+            if err.code != 'NoSuchEntity':
                 raise
-            raise ArgumentError("cannot find manifest file(s) %s in "
-                                "bucket '%s'."
-                                % (",".join(manifest_keys), bucket))
+            raise ArgumentError(
+                "cannot find manifest file(s) {0} in bucket '{1}'."
+                .format(",".join(manifest_keys), bucket))
         self._download_parts(manifest_keys, directory)
 
     def main(self):
@@ -98,14 +107,15 @@ class DownloadBundle(WalrusRequest):
 
         directory = self.args.get('directory') or tempfile.mkdtemp()
         if not os.path.isdir(directory):
-            raise ArgumentError("location '%s' is either not a directory or " \
-                                    "does not exist." % directory)
+            raise ArgumentError(
+                "location '{0}' is either not a directory or does not exist."
+                .format(directory))
 
-        if self.args.get('manifest'):
+        if self.args.get('manifest_path'):
             self._download_by_local_manifest(directory)
         else:
             self._download_by_prefix(directory)
 
         # Print location if we used a temp directory
         if not self.args.get('directory'):
-            print >> sys.stderr, "Bundle downloaded to '%s'" % directory
+            print >> sys.stderr, "Bundle downloaded to '{0}'".format(directory)
diff --git a/euca2ools/commands/bundle/helpers.py b/euca2ools/commands/bundle/helpers.py
index b746013..0c35015 100644
--- a/euca2ools/commands/bundle/helpers.py
+++ b/euca2ools/commands/bundle/helpers.py
@@ -42,7 +42,6 @@ def get_manifest_parts(manifest, bucket=None):
     :param bucket: (optional) bucket name to append to the part key.
     """
     part_paths = []
-    # try:
     dom = minidom.parse(manifest)
     elem = dom.getElementsByTagName('manifest')[0]
     for tag in elem.getElementsByTagName('filename'):
@@ -52,8 +51,6 @@ def get_manifest_parts(manifest, bucket=None):
                     part_paths.append(os.path.join(bucket, node.data))
                 else:
                     part_paths.append(node.data)
-    # except:
-        # print >> sys.stderr, 'problem parsing: %s' % manifest
     return part_paths
 
 

-- 
managing cloud instances for Eucalyptus



More information about the pkg-eucalyptus-commits mailing list