--- ../fpaste-0.3.7.1.orig/fpaste 2013-04-14 12:57:06.052643012 +1000
+++ fpaste 2013-04-14 12:56:14.278796939 +1000
@@ -81,7 +81,7 @@
if len(author) > 30:
author = author[0:30-3] + "..."
- params = urllib.urlencode({'paste_lang': options.lang, 'paste_data': text, 'api_submit': 'true', 'mode': 'json'})
+ params = urllib.urlencode({'paste_lang': options.lang, 'paste_data': text, 'paste_private': options.make_private, 'paste_expire': options.expires, 'api_submit': 'true', 'mode': 'json'})
pasteSizeKiB = len(params)/1024.0
if pasteSizeKiB >= 512: # 512KiB appears to be the current hard limit (20110404); old limit was 16MiB
@@ -116,8 +116,11 @@
id = [i[1]["id"] for i in response.iteritems()].pop()
# for k,j in i.iteritems():
# print j, k
-
- url = "{0}{1}".format(FPASTE_URL, id)
+ if options.make_private == 'yes':
+ private_hash = [i[1]["hash"] for i in response.iteritems()].pop()
+ url = "{0}{1}/{2}".format(FPASTE_URL, id, private_hash)
+ else:
+ url = "{0}{1}".format(FPASTE_URL, id)
return url
# url = f.geturl()
@@ -242,6 +245,7 @@
validExpiresOpts = [ '3600', '10800', '43200', '86400' ]
validSyntaxOpts = [ 'abap', 'antlr', 'antlr-as', 'antlr-cpp', 'antlr-csharp', 'antlr-java', 'antlr-objc', 'antlr-perl', 'antlr-python', 'antlr-ruby', 'apacheconf', 'applescript', 'as', 'as3', 'aspx-cs', 'aspx-vb', 'basemake', 'bash', 'bat', 'bbcode', 'befunge', 'boo', 'brainfuck', 'c', 'c-objdump', 'cheetah', 'clojure', 'common-lisp', 'console', 'control', 'cpp', 'cpp-objdump', 'csharp', 'css', 'css+django', 'css+erb', 'css+genshitext', 'css+mako', 'css+myghty', 'css+php', 'css+smarty', 'cython', 'd', 'd-objdump', 'delphi', 'diff', 'django', 'dpatch', 'dylan', 'erb', 'erl', 'erlang', 'evoque', 'fortran', 'gas', 'genshi', 'genshitext', 'glsl', 'gnuplot', 'groff', 'haskell', 'html', 'html+cheetah', 'html+django', 'html+evoque', 'html+genshi', 'html+mako', 'html+myghty', 'html+php', 'html+smarty', 'ini', 'io', 'irc', 'java', 'js', 'js+cheetah', 'js+django', 'js+erb', 'js+genshitext', 'js+mako', 'js+myghty', 'js+php', 'js+smarty', 'jsp', 'lhs', 'lighty', 'llvm', 'logtalk', 'lua', 'make', 'mako', 'matlab', 'matlabsession', 'minid', 'modelica', 'moocode', 'mupad', 'mxml', 'myghty', 'mysql', 'nasm', 'newspeak', 'nginx', 'numpy', 'objdump', 'objective-c', 'ocaml', 'perl', 'php', 'pot', 'pov', 'prolog', 'py3tb', 'pycon', 'pytb', 'python', 'python3', 'ragel', 'ragel-c', 'ragel-cpp', 'ragel-d', 'ragel-em', 'ragel-java', 'ragel-objc', 'ragel-ruby', 'raw', 'rb', 'rbcon', 'rebol', 'redcode', 'rhtml', 'rst', 'scala', 'scheme', 'smalltalk', 'smarty', 'sourceslist', 'splus', 'sql', 'sqlite3', 'squidconf', 'tcl', 'tcsh', 'tex', 'text', 'trac-wiki', 'vala', 'vb.net', 'vim', 'xml', 'xml+cheetah', 'xml+django', 'xml+erb', 'xml+evoque', 'xml+mako', 'xml+myghty', 'xml+php', 'xml+smarty', 'xslt', 'yaml' ]
validClipboardSelectionOpts = [ 'primary', 'secondary', 'clipboard' ]
+ validPrivateOpts = [ 'yes', 'no']
ext2lang_map = { 'sh':'bash', 'bash':'bash', 'bat':'bat', 'c':'c', 'h':'c', 'cpp':'cpp', 'css':'css', 'html':'html', 'htm':'html', 'ini':'ini', 'java':'java', 'js':'js', 'jsp':'jsp', 'pl':'perl', 'php':'php', 'php3':'php', 'py':'python', 'rb':'rb', 'rhtml':'rhtml', 'sql':'sql', 'sqlite':'sqlite3', 'tcl':'tcl', 'vim':'vim', 'xml':'xml' }
usage = """\
@@ -265,6 +269,9 @@
fpasteOrg_group.add_option('-d', dest='desc', help='description of paste; default appends filename(s)', metavar='"DESCRIPTION"')
fpasteOrg_group.add_option('-l', dest='lang', help='language of content for syntax highlighting; default is "%default"; use "list" to show all ' + str(len(validSyntaxOpts)) + ' supported langs', metavar='"LANGUAGE"')
fpasteOrg_group.add_option('-x', dest='expires', help='time before paste is removed; default is %default seconds; valid options: ' + ', '.join(validExpiresOpts), metavar='EXPIRES')
+ #fpasteOrg_group.add_option('-P', dest='paste_private', help='make paste private; default is %default', + ', '.join(validPrivateOpts), metavar='"PRIVATE"')
+ fpasteOrg_group.add_option('-P', '--private', help='make paste private; default is %default; valid options: ' + ', '.join(validPrivateOpts), dest='make_private', metavar='"PRIVATE"')
+
parser.add_option_group(fpasteOrg_group)
# other options
fpasteProg_group = OptionGroup(parser, "Input/Output Options")
@@ -278,7 +285,7 @@
fpasteProg_group.add_option('', '--confirm', dest='confirm', help='print paste, and prompt for confirmation before sending', action="store_true", default=False)
parser.add_option_group(fpasteProg_group)
- parser.set_defaults(desc='', nick='', lang='text', expires=max(validExpiresOpts), selection='primary')
+ parser.set_defaults(desc='', nick='', lang='text', make_private='yes', expires=max(validExpiresOpts), selection='primary' )
(options, args) = parser.parse_args()
if options.lang.lower() == 'list':