def do_compute(self): # step 1, get prompt form web source email_string = TextHelper.find_text_between_tag(self.web_source, "<!--\n", "\n-->") message = email.message_from_string(email_string) audio = message.get_payload(0).get_payload(decode=True) local_wav = "mainland.wav" WaveHelper.save_base64_file(audio, local_wav) WaveHelper.play(local_wav) # pronounce 'sorry' pronounce_word = "sorry" print "pronounce word: %s" % pronounce_word # step 2, wrong try sorry_url = WebHelper.join_url(self.url, pronounce_word) url_ignore, sorry_content = WebHelper.get_auth_url_content(sorry_url, self.user, self.password) print sorry_content # step 3, reverse the wav data reverse_wave = "sea.wav" WaveHelper.reverse_wave(local_wav, reverse_wave) WaveHelper.play(reverse_wave) # pronounce "you are idiot, a.a.a.a..." print "pronounce word: %s" % "you are idiot, a.a.a.a..." prompt_url = WebHelper.join_url(self.url, "idiot") print "prompt url: %s" % prompt_url # step 4, get next level url next_url = WebHelper.get_prompt_url_from_web(prompt_url, '<br><a href="', '">Continue to the', self.user, self.password) self.set_next_level_url(next_url) # step 5, clean resources FileHelper.remove_file(local_wav) FileHelper.remove_file(reverse_wave)
def do_compute(self): # step 1, get prompt information from web source words_hint = TextHelper.find_text_between_tag(self.web_source, "<!-- ", " -->") print words_hint img_url_short = TextHelper.find_text_between_tag(self.web_source, "<img src=\"", "\" border=") ImageHelper.show_image_from_web(WebHelper.join_url(self.url, img_url_short)) # It shows a same picture with different brightness print "brightness" prompt_url = WebHelper.join_url(self.url, "brightness") print "get new prompt url: %s" % prompt_url # step 2, download gz file from web prompt_url = WebHelper.get_prompt_url_from_web(prompt_url, "<!-- maybe consider ", " -->") local_gz = WebHelper.get_url_page(prompt_url) WebHelper.download_with_auth(prompt_url, local_gz) # step 3, get png data and show the image gz_content = FileHelper.read_gzip_file(local_gz) png = T18.get_png_data_from_diff_data(gz_content) for i in range(3): ImageHelper.show_image_from_data(png[i]) # from image, we can see "../hex/bin.html", "butter", "fly" ==> These last two words will be used in next level prompt_url = "../hex/bin.html" print 'we can see "../hex/bin.html", "butter", "fly" in these image, set new user, password for next level' self.result.set_user_password("butter", "fly") # step 4, set prompt self.set_prompt(prompt_url) # step 5, clean zip file FileHelper.remove_file(local_gz)