All pastes #840070 Raw Edit

Miscellany

public text v1 · immutable
#840070 ·published 2007-12-31 13:26 UTC
rendered paste body
#!/usr/bin/python

import urllib
import os
import sys
import re

def paste(name):
    try:
        file = open(name,'r')
        content = file.read()
        file.close()
    except:
        return False
    
    pastebin = {}
    pastebin['nick'] = 'Anonymous';
    pastebin['desc'] = 'None';
    pastebin['cvt_tabs'] = 'No';
    pastebin['text'] = content;
    
    extensions = {}
    extensions['py'] = 'Python';
    extensions['c'] = 'C';
    extensions['php'] = 'PHP';
    extensions['cpp'] = 'C++';
    extensions['rb'] = 'Ruby';
    extensions['txt'] = 'Plain Text';

    if len(name.split('.')) == 1:
        extension = 'txt'
    else:
        extension = name.split('.')[1]

    try:
        pastebin['lang'] = extensions[extension]
    except KeyError:
        pastebin['lang'] = 'Plain Text'

    pastebin = urllib.urlencode(pastebin)
    get = urllib.urlopen("http://rafb.net/paste/paste.php", pastebin).read()

    UrlRegex = re.compile("<small>URL: (.*?)</small>")
    url = re.search(UrlRegex,get).group(1)
    return url

if len(sys.argv) < 2:
    file = os.popen('echo --getopenurl %s' % os.environ['HOME']).readlines()
    if file:
        file = file[0].replace('\n','')[7:]
    else:
        sys.exit(0)
    
    url = paste(file)
    if not url:
        os.system('echo Error "Can not paste. Please try again later"')
    else:
        os.system('echo "Paste URL:\n %s"' % url)
else:
    try:
        file = sys.argv[2]
        url = paste(file)
        if not url:
            os.system('echo Error "Can not paste. Please try again later"')
        else:
            os.system('echo "Paste URL:\n %s"' % url)
    except IndexError:
        file = "%s/%s" % (os.getcwd(),sys.argv[1])
        url = paste(file)
        if not url:
            print "[Error] File not found"
        else:
            print url