ワンクリックでImgurのスクリーンショットをダウンロード

ワンクリックでスクリーンショットをダウンロードすることに関する投稿に基づいて、そのAPIを使用してお気に入りの画像に適応させたいと思いました



スクリプトは非常にシンプルで、画像をアップロードして、ブラウザの新しいタブで開きます。

残りの手順については、上記のリンクを参照してください。

#!/usr/bin/env python import webbrowser import StringIO import sys import os from xml.dom import minidom try: import pycurl except ImportError: sys.exit('Error: pycurl not found') class XmlResponse: def __init__(self): self.contents = '' def body_callback(self, buf): self.contents = self.contents + buf if len(sys.argv) > 1: img = sys.argv[1] else: img = '/tmp/imgur.png' os.system('scrot -s %s' % img) t = XmlResponse() curl = pycurl.Curl() values = [ ("key", "a3793a1cce95f32435bb002b92e0fa5e"), ("image", (curl.FORM_FILE, img))] curl.setopt(curl.URL, "http://imgur.com/api/upload.xml") curl.setopt(curl.HTTPPOST, values) curl.setopt(pycurl.WRITEFUNCTION, t.body_callback) curl.perform() curl.close() dom = minidom.parseString(t.contents) settings = { 'original_image' : dom.getElementsByTagName("original_image")[0].childNodes[0].nodeValue, 'large_thumbnail' : dom.getElementsByTagName("large_thumbnail")[0].childNodes[0].nodeValue, 'small_thumbnail' : dom.getElementsByTagName("small_thumbnail")[0].childNodes[0].nodeValue, 'imgur_page' : dom.getElementsByTagName("imgur_page")[0].childNodes[0].nodeValue, 'delete_page' : dom.getElementsByTagName("delete_page")[0].childNodes[0].nodeValue, } webbrowser.open_new_tab(settings['original_image'])
      
      






All Articles