Index: boto/ec2/autoscale/activity.py |
diff --git a/boto/ec2/autoscale/activity.py b/boto/ec2/autoscale/activity.py |
index f895d65e9abee56ac4d53e2058377c6230b74e92..3f23d05d2602c7ca912579384b12a035b5eda2d7 100644 |
--- a/boto/ec2/autoscale/activity.py |
+++ b/boto/ec2/autoscale/activity.py |
@@ -1,4 +1,4 @@ |
-# Copyright (c) 2009 Reza Lotun http://reza.lotun.name/ |
+# Copyright (c) 2009-2011 Reza Lotun http://reza.lotun.name/ |
# |
# Permission is hereby granted, free of charge, to any person obtaining a |
# copy of this software and associated documentation files (the |
@@ -19,35 +19,54 @@ |
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
# IN THE SOFTWARE. |
+from datetime import datetime |
+ |
class Activity(object): |
def __init__(self, connection=None): |
self.connection = connection |
self.start_time = None |
+ self.end_time = None |
self.activity_id = None |
self.progress = None |
self.status_code = None |
self.cause = None |
self.description = None |
+ self.status_message = None |
+ self.group_name = None |
def __repr__(self): |
- return 'Activity:%s status:%s progress:%s' % (self.description, |
- self.status_code, |
- self.progress) |
+ return 'Activity<%s>: For group:%s, progress:%s, cause:%s' % (self.activity_id, |
+ self.group_name, |
+ self.status_message, |
+ self.cause) |
+ |
def startElement(self, name, attrs, connection): |
return None |
def endElement(self, name, value, connection): |
if name == 'ActivityId': |
self.activity_id = value |
+ elif name == 'AutoScalingGroupName': |
+ self.group_name = value |
elif name == 'StartTime': |
- self.start_time = value |
+ try: |
+ self.start_time = datetime.strptime(value, '%Y-%m-%dT%H:%M:%S.%fZ') |
+ except ValueError: |
+ self.start_time = datetime.strptime(value, '%Y-%m-%dT%H:%M:%SZ') |
+ elif name == 'EndTime': |
+ try: |
+ self.end_time = datetime.strptime(value, '%Y-%m-%dT%H:%M:%S.%fZ') |
+ except ValueError: |
+ self.end_time = datetime.strptime(value, '%Y-%m-%dT%H:%M:%SZ') |
elif name == 'Progress': |
self.progress = value |
elif name == 'Cause': |
self.cause = value |
elif name == 'Description': |
self.description = value |
+ elif name == 'StatusMessage': |
+ self.status_message = value |
elif name == 'StatusCode': |
self.status_code = value |
else: |