@@ -40,35 +40,29 @@ class PasteFailed(Exception):
4040
4141
4242class PastePinnwand (object ):
43- def __init__ (self , url , expiry , show_url , removal_url ):
43+ def __init__ (self , url , expiry ):
4444 self .url = url
4545 self .expiry = expiry
46- self .show_url = show_url
47- self .removal_url = removal_url
4846
4947 def paste (self , s ):
5048 """Upload to pastebin via json interface."""
5149
52- url = urljoin (self .url , "/json/new" )
53- payload = {"code" : s , "lexer" : "pycon" , "expiry" : self .expiry }
50+ url = urljoin (self .url , "/api/v1/paste" )
51+ payload = {
52+ "expiry" : self .expiry ,
53+ "files" : [{"lexer" : "pycon" , "content" : s }],
54+ }
5455
5556 try :
56- response = requests .post (url , data = payload , verify = True )
57+ response = requests .post (url , json = payload , verify = True )
5758 response .raise_for_status ()
5859 except requests .exceptions .RequestException as exc :
5960 raise PasteFailed (exc .message )
6061
6162 data = response .json ()
6263
63- paste_url_template = Template (self .show_url )
64- paste_id = urlquote (data ["paste_id" ])
65- paste_url = paste_url_template .safe_substitute (paste_id = paste_id )
66-
67- removal_url_template = Template (self .removal_url )
68- removal_id = urlquote (data ["removal_id" ])
69- removal_url = removal_url_template .safe_substitute (
70- removal_id = removal_id
71- )
64+ paste_url = data ["link" ]
65+ removal_url = data ["removal" ]
7266
7367 return (paste_url , removal_url )
7468
0 commit comments