def read_and_store_fields(handler, speaker): speaker.set_names(handler.request.get("speaker_first_name"), handler.request.get("speaker_later_names")) speaker.telephone = handler.request.get("telephone") speaker.address = handler.request.get("address") speaker.bio = handler.request.get("bio") speaker.set_field(speaker.FIELD_JOBTITLE, handler.request.get("jobtitle")) speaker.set_field(speaker.FIELD_COUNTRY, handler.request.get("country")) speaker.set_field(speaker.FIELD_AFFILICATION, handler.request.get("affiliation")) speaker.set_field(speaker.FIELD_TWITTER, handler.request.get("twitter")) speaker.set_field(speaker.FIELD_WEBPAGE, handler.request.get("webpage")) speaker.set_field(speaker.FIELD_BLOG, handler.request.get("blogpage")) speaker.set_field(speaker.FIELD_LINKEDIN, handler.request.get("linkedinprofile")) speaker.set_field(speaker.FIELD_TELEPHONE, handler.request.get("telephone")) speaker.set_field(speaker.FIELD_ADDRESS, handler.request.get("address")) speaker.put() if handler.request.get("deletepicture"): image.delete_image(speaker.key) else: if handler.request.params.has_key('speakerpicture'): image.store_only_image(speaker.key, handler.request.get('speakerpicture'))
def test_zero_out_speaker(self): s = speaker.make_new_speaker("mail@email") s.telephone = "+44 123" s.address = "Yellow Brick Road" s.bio = "Once upon a time" s.set_field("Twitter", "@Tweetypy") s.set_field(s.FIELD_JOBTITLE, "Superman") s.put() speakerdir.SpeakerDir().add_speaker(s.key) image.store_only_image(s.key, "Just some binary data") tags.TagList(s.key).add_tag("Test", "Speaker") self.assertTrue(image.image_exists(s.key)) self.assertFalse(s.is_zero_deleted()) s.zero_out_speaker() self.assertTrue(s.is_zero_deleted()) self.assertFalse(speaker.speaker_exists("mail@email")) self.assertEquals("*****@*****.**", s.email) self.assertEquals("", s.telephone) self.assertEquals("", s.address) self.assertEquals("", s.bio) self.assertEquals("", s.field("Twitter")) self.assertFalse(speakerdir.SpeakerDir().is_speaker_listed(s.key)) self.assertEquals([], tags.TagList(s.key).get_all_tags([])) self.assertFalse(image.image_exists(s.key))
def test_multiple_images(self): new_conf = conference.Conference() new_conf.name = "WorldConf 2016" new_conf.put() some_image = BytesIO(b"some binary data: \x00\x01\x02") image.store_only_image(new_conf.key, some_image.getvalue()) self.assertTrue(image.image_exists(new_conf.key)) another_image = BytesIO(b"some more binary data: \x00\x01\x02") image.store_only_image(new_conf.key, another_image.getvalue()) self.assertTrue(image.image_exists(new_conf.key)) self.assertEquals(1, len(image.MimasImage.query(ancestor=new_conf.key).fetch(10, keys_only=True)))
def test_speaker_image_url(self): s = speaker.make_new_speaker("mail@email") s.put() self.assertFalse(s.has_full_size_image()) img_key = image.store_only_image(s.key, "Some value") self.assertTrue(s.has_full_size_image()) expected = "/speakerfullimg?spk_id=" + s.key.urlsafe() self.assertEquals(s.full_image_url(), expected)
def test_basics(self): new_conf = conference.Conference() new_conf.name = "WorldConf 2016" new_conf.put() self.assertFalse(image.image_exists(new_conf.key)) self.assertEquals(None, image.retrieve_image_key(new_conf.key)) image.store_only_image(new_conf.key, u"") self.assertFalse(image.image_exists(new_conf.key)) some_image = BytesIO(b"some binary data: \x00\x01\x02") image.store_only_image(new_conf.key, some_image.getvalue()) self.assertTrue(image.image_exists(new_conf.key)) self.assertEquals(some_image.getvalue(), image.retrieve_image_key(new_conf.key).get().picture) self.assertFalse(image.image_exists(None)) image.delete_image(new_conf.key) self.assertFalse(image.image_exists(new_conf.key))
def set_image(self, img): img_key = image.retrieve_image_key(self.key) if img_key != None: img_key.delete() return image.store_only_image(self.key, img)