1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#!/usr/bin/python
# Pastes input from stdin to paste.mate-desktop.org
# Copyright (C) 2013 Steve Zesch
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
import urllib
import urllib2
import optparse
import sys
def write_paste(values):
url = 'http://paste.mate-desktop.org/api/create'
data = urllib.urlencode(values)
request = urllib2.Request(url, data)
response = urllib2.urlopen(request)
page = response.read()
return page
def build_values(options, text):
values = {}
for opt, val in options.__dict__.items():
if val:
values[opt] = val
values['text'] = text
if values.has_key('private') and values['private'] == True:
values['private'] = 1
return values
if __name__ == '__main__':
parser = optparse.OptionParser()
parser.add_option('-t', '--title', dest='title', help='title of this paste')
parser.add_option('-n', '--name', dest='name', help='author of this paste')
parser.add_option('-p', '--private', dest='private', action='store_true',
help='should this paste be private')
parser.add_option('-l', '--language', dest='lang',
help='language this paste is in')
parser.add_option('-e', '--expire', dest='expire', help='paste expiration in minutes')
parser.add_option('-r', '--reply', dest='reply', help='reply to existing paste')
(options, args) = parser.parse_args()
text = sys.stdin.read()
returned_url = write_paste(build_values(options, text))
print returned_url
|