Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)