def pick_image(show_albums=False, include_metadata=False, original=True, raw_data=False, multi=False): if raw_data and not original: raise ValueError('`raw_data` can only used in combination with `original`') picked_items = _photos.pick_image(show_albums, include_metadata, multi, original) if picked_items is None or picked_items == (None, None): return picked_items return_list = [] for item in picked_items: image_data = None metadata = None if include_metadata: image_data, metadata_json = item import json metadata = json.loads(metadata_json) else: image_data = item if original: if raw_data: img = image_data else: import Image from cStringIO import StringIO data_buffer = StringIO(image_data) img = Image.open(data_buffer) else: data, w, h = image_data import Image img = Image.fromstring('RGBA', (w, h), data) if include_metadata: return_list.append((img, metadata)) else: return_list.append(img) if multi: return return_list return return_list[0]
def pick_image(show_albums=False): image_info = _photos.pick_image(show_albums) if image_info is None: return None else: image_data, w, h = image_info import Image img = Image.fromstring('RGBA', (w, h), image_data) return img