एक क्लिक में Imgur पर स्क्रीनशॉट डाउनलोड करें

एक क्लिक में स्क्रीनशॉट डाउनलोड करने के बारे में एक पोस्ट के आधार पर , मैं अपने एपीआई का उपयोग करके इसे अपने पसंदीदा इमगुर में बदलना चाहता था

स्क्रिप्ट काफी सरल है, एक तस्वीर अपलोड करें और इसे एक नए टैब में ब्राउज़र में खोलें।
बाकी निर्देशों के लिए, ऊपर दिए गए लिंक को देखें।
#!/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']) 


Source: https://habr.com/ru/post/In127761/


All Articles