Ejemplo n.º 1
0
    def do_compute(self):
        # step 1. get png url and download
        png_prompt = TextHelper.find_text_between_tag(self.web_source, "<img src=\"", "\"/>")
        png_url = WebHelper.join_url(self.url, png_prompt)
        png_local = WebHelper.get_url_page(png_url)
        WebHelper.download(png_url, png_local)

        # step 2. get prompt information
        png = Image.open(png_local)
        row = [png.getpixel((x, png.size[1]/2)) for x in range(0, png.size[0], 7)]
        print ''.join([chr(r) for r, g, b, d in row if r == g and g == b])
        # get hint: smart guy, you made it. the next level is [105, 110, 116, 101, 103, 114, 105, 116, 121]

        # step 3. set prompt for next url
        self.set_prompt(''.join([chr(i) for i in [105, 110, 116, 101, 103, 114, 105, 116, 121]]))

        # step . clean file
        FileHelper.remove_file(png_local)
Ejemplo n.º 2
0
    def do_compute(self):
        # step 1. Get hint from page source
        hint = TextHelper.find_text_between_tag(self.web_source,
                                                "<html> <!-- <-- ",
                                                " -->\n<head>")
        zip_url = WebHelper.change_suffix_url(self.url, hint)

        # step 2. Download zip to local and extract
        tmp_zip = zip_url[zip_url.rindex("/") + 1:]
        tmp_folder = tmp_zip[:tmp_zip.index(".")]
        WebHelper.download(zip_url, tmp_zip)
        zip_ref = zipfile.ZipFile(tmp_zip, 'r')
        zip_ref.extractall(tmp_folder)
        zip_ref.close()

        # step 3. Get next hint
        readme_txt = open(tmp_folder + "/readme.txt", 'r').read()
        start_txt = TextHelper.find_text_between_tag(readme_txt,
                                                     "hint1: start from ",
                                                     "\n")
        next_hint = T6.read_traverse(start_txt)
        print next_hint  # Hint: Collect the comments.

        # step 4. Get comments
        print T6.collect_comments(
            tmp_zip, start_txt)  # Comments: HOCKEY  (Small letter oxygen)

        # step 5. Wrong way
        wrong_url = WebHelper.join_url(self.url, "hockey")
        print WebHelper.get_web_source(
            wrong_url)  # it's in the air. look at the letters.

        # step 6. Get next url hint
        self.set_prompt(WebHelper.join_url(self.url, "oxygen"))

        # step 7. Clean folder
        FileHelper.remove_folder(tmp_folder)
        FileHelper.remove_file(tmp_zip)