[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