78
79
def get_image(self, image_id):
79
80
image = self.IMAGE_FIXTURES[int(image_id)]
80
81
return image['image_meta'], image['image_data']
84
NOW_GLANCE_FORMAT = "2010-10-11T10:30:22"
87
class StubGlanceClient(object):
89
def __init__(self, images=None):
91
_images = images or []
92
map(lambda image: self.add_image(image, None), _images)
94
def set_auth_token(self, auth_tok):
97
def get_image_meta(self, image_id):
98
for image in self.images:
99
if image['id'] == str(image_id):
101
raise exception.ImageNotFound(image_id=image_id)
103
#TODO(bcwaldon): implement filters
104
def get_images_detailed(self, filters=None, marker=None, limit=3):
108
for index, image in enumerate(self.images):
109
if image['id'] == str(marker):
113
return self.images[index:index + limit]
115
def get_image(self, image_id):
116
return self.get_image_meta(image_id), []
118
def add_image(self, metadata, data):
119
metadata['created_at'] = NOW_GLANCE_FORMAT
120
metadata['updated_at'] = NOW_GLANCE_FORMAT
122
self.images.append(metadata)
125
image_id = str(metadata['id'])
127
# auto-generate an id if one wasn't provided
128
image_id = str(len(self.images))
130
self.images[-1]['id'] = image_id
132
return self.images[-1]
134
def update_image(self, image_id, metadata, data):
135
for i, image in enumerate(self.images):
136
if image['id'] == str(image_id):
138
metadata['id'] = str(metadata['id'])
139
self.images[i].update(metadata)
140
return self.images[i]
141
raise exception.ImageNotFound(image_id=image_id)
143
def delete_image(self, image_id):
144
for i, image in enumerate(self.images):
145
if image['id'] == image_id:
148
raise exception.ImageNotFound(image_id=image_id)