コード例 #1
0
ファイル: app.py プロジェクト: atteeela/web-tools
    def renderWebpage(self, url, width, height):
        driver = webdriver.PhantomJS(stackhut.root_dir + "/phantomjs-2.0.1-bin") # or add to your PATH
        driver.set_window_size(width, height) # optional
        driver.get(url)

        driver.save_screenshot('screen.png') # save a screenshot to disk
        return stackhut.put_file('screen.png')
コード例 #2
0
 def getVideo(self, in_url):
     stdout = youtube_dl('-v', '-4', '--add-metadata',
                         '--restrict-filename', in_url)
     prefix = "[ffmpeg] Merging formats into "
     out_file = self.get_filename(stdout,
                                  prefix)[1:-1]  # strip quotes in filename
     return stackhut.put_file(out_file)
コード例 #3
0
ファイル: app.py プロジェクト: atteeela/web-tools
    def renderWebpage(self, url, width, height):
        driver = webdriver.PhantomJS(
            stackhut.root_dir + "/phantomjs-2.0.1-bin")  # or add to your PATH
        driver.set_window_size(width, height)  # optional
        driver.get(url)

        driver.save_screenshot('screen.png')  # save a screenshot to disk
        return stackhut.put_file('screen.png')
コード例 #4
0
    def compress(self, pdfUrl) :
    	in_file = stackhut.download_file(pdfUrl)
    	out_file = "out_{}".format(in_file)

    	output = sh.gs("-sDEVICE=pdfwrite", "-dCompatibilityLevel=1.4", "-dPDFSETTINGS=/ebook", "-dNOPAUSE", "-dQUIET", "-dBATCH", "-sOutputFile={}".format(out_file), in_file)
    	
    	print(output)
    	return stackhut.put_file(out_file)
コード例 #5
0
ファイル: app.py プロジェクト: atteeela/image-process
    def _run_gm_command(self, cmd_list, in_url, new_ext=None):
        # get input file
        in_file = stackhut.download_file(in_url)
        out_file = "out_{}".format(in_file)

        if new_ext is not None:
            out_file = "{}.{}".format(os.path.splitext(out_file)[0], new_ext)

        # run GM command
        gm(cmd_list + [in_file, out_file])
        # save back to S3
        # out_url = upload_file(out_file, self.task_id, self.bucket)
        return stackhut.put_file(out_file)
コード例 #6
0
ファイル: app.py プロジェクト: atteeela/image-process
    def memeGenerate(self, topText, bottomText, url):
        """taken and adapted from ..."""
        top_text = topText.upper()
        bottom_text = bottomText.upper()

        in_file = stackhut.download_file(url)
        out_file = "out_{}".format(in_file)

        img = Image.open(in_file)
        image_size = img.size

        # find biggest font size that works
        font_size = int(image_size[1]/5)
        font = ImageFont.truetype(self.get_res("Impact.ttf"), font_size)
        top_text_size = font.getsize(top_text)
        bottom_text_size = font.getsize(bottom_text)
        while top_text_size[0] > image_size[0]-20 or bottom_text_size[0] > image_size[0]-20:
            font_size -= 1
            font = ImageFont.truetype(self.get_res("Impact.ttf"), font_size)
            top_text_size = font.getsize(top_text)
            bottom_text_size = font.getsize(bottom_text)

        # find top centered position for top text
        top_text_x = (image_size[0]/2) - (top_text_size[0]/2)
        top_text_y = 0
        top_text_pos = (top_text_x, top_text_y)

        # find bottom centered position for bottom text
        bottom_text_x = (image_size[0]/2) - (bottom_text_size[0]/2)
        bottom_text_y = image_size[1] - bottom_text_size[1]
        bottom_text_pos = (bottom_text_x, bottom_text_y)

        draw = ImageDraw.Draw(img)

        # draw outlines, there may be a better way
        outline_range = int(font_size/15)
        for x in range(-outline_range, outline_range+1):
            for y in range(-outline_range, outline_range+1):
                draw.text((top_text_pos[0]+x, top_text_pos[1]+y), top_text, (0,0,0), font=font)
                draw.text((bottom_text_pos[0]+x, bottom_text_pos[1]+y), bottom_text, (0,0,0), font=font)

        draw.text(top_text_pos, top_text, (255,255,255), font=font)
        draw.text(bottom_text_pos, bottom_text, (255,255,255), font=font)

        # save final image
        img.save(out_file)
        # out_url = upload_file(out_file, self.task_id, self.bucket)
        return stackhut.put_file(out_file)
コード例 #7
0
ファイル: app.py プロジェクト: wmhqnyh/pdf-compress
    def compress(self, pdfUrl):
        in_file = stackhut.download_file(pdfUrl)
        out_file = "out_{}".format(in_file)

        output = sh.gs(
            "-sDEVICE=pdfwrite",
            "-dCompatibilityLevel=1.4",
            "-dPDFSETTINGS=/ebook",
            "-dNOPAUSE",
            "-dQUIET",
            "-dBATCH",
            "-sOutputFile={}".format(out_file),
            in_file,
        )

        print(output)
        return stackhut.put_file(out_file)
コード例 #8
0
ファイル: app.py プロジェクト: atteeela/media-download
 def getAudio(self, in_url):
     stdout = youtube_dl('-v', '-4', '-x', '--add-metadata', '--restrict-filename', in_url)
     prefix = "[download] Destination: "
     out_file = self.get_filename(stdout, prefix)
     return stackhut.put_file(out_file)
コード例 #9
0
ファイル: app.py プロジェクト: atteeela/media-download
 def getVideo(self, in_url):
     stdout = youtube_dl('-v', '-4', '--add-metadata', '--restrict-filename', in_url)
     prefix = "[ffmpeg] Merging formats into "
     out_file = self.get_filename(stdout, prefix)[1:-1] # strip quotes in filename
     return stackhut.put_file(out_file)
コード例 #10
0
 def getAudio(self, in_url):
     stdout = youtube_dl('-v', '-4', '-x', '--add-metadata',
                         '--restrict-filename', in_url)
     prefix = "[download] Destination: "
     out_file = self.get_filename(stdout, prefix)
     return stackhut.put_file(out_file)