summaryrefslogtreecommitdiff
path: root/glanceclient/common/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'glanceclient/common/utils.py')
-rw-r--r--glanceclient/common/utils.py44
1 files changed, 43 insertions, 1 deletions
diff --git a/glanceclient/common/utils.py b/glanceclient/common/utils.py
index 1691264..fd0243c 100644
--- a/glanceclient/common/utils.py
+++ b/glanceclient/common/utils.py
@@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+import datetime
import errno
import functools
import hashlib
@@ -175,13 +176,54 @@ def pretty_choice_list(l):
def has_version(client, version):
versions = client.get('/versions')[1].get('versions')
- supported = ['SUPPORTED', 'CURRENT']
+ supported = ['SUPPORTED', 'CURRENT', 'EXPERIMENTAL']
for version_struct in versions:
if version_struct['id'] == version:
return version_struct['status'] in supported
return False
+def print_cached_images(cached_images):
+ cache_pt = prettytable.PrettyTable(("ID",
+ "State",
+ "Last Accessed (UTC)",
+ "Last Modified (UTC)",
+ "Size",
+ "Hits"))
+ for item in cached_images:
+ state = "queued"
+ last_accessed = "N/A"
+ last_modified = "N/A"
+ size = "N/A"
+ hits = "N/A"
+ if item == 'cached_images':
+ state = "cached"
+ for image in cached_images[item]:
+ last_accessed = image['last_accessed']
+ if last_accessed == 0:
+ last_accessed = "N/A"
+ else:
+ last_accessed = datetime.datetime.utcfromtimestamp(
+ last_accessed).isoformat()
+
+ cache_pt.add_row((image['image_id'], state,
+ last_accessed,
+ datetime.datetime.utcfromtimestamp(
+ image['last_modified']).isoformat(),
+ image['size'],
+ image['hits']))
+ else:
+ for image in cached_images[item]:
+ cache_pt.add_row((image,
+ state,
+ last_accessed,
+ last_modified,
+ size,
+ hits))
+
+ print(cache_pt.get_string())
+
+
def print_dict_list(objects, fields):
pt = prettytable.PrettyTable([f for f in fields], caching=False)
pt.align = 'l'