#!/usr/bin/python3 from optparse import OptionParser import urllib.request import urllib.parse import os extensions = { "sh" : "bash", "php" : "php", "html" : "html4strict", "js" : "javascript", "java" : "java", "css" : "css", "py" : "python", "h" : "c", "cpp" : "cpp", "pl" : "perl" } parser = OptionParser("nopaste.py [Optionen] Datei") parser.add_option("-c", "--clipboard", dest="clipboard", help="Kopiere Link in die Zwischenablage", action="store_true", default=False) parser.add_option("-H", "--hide", dest="hide", help="Zeige Paste nicht in Archiv", action="store_true", default=False) parser.add_option("-a", "--author", dest="author", help="Autor", default="") parser.add_option("-p", "--password", dest="password", help="Passwort", default="") parser.add_option("-t", "--title", dest="title", help="Titel", default="") parser.add_option("-T", "--tabwidth", dest="tabwidth", help="Tabbreite", default="4") parser.add_option("-l", "--language", dest="language", help="Programmiersprache", default="") (options, args) = parser.parse_args() if len(args) == 0: parser.error("Es wurde keine Datei angegeben") inputFile = args[0] if len(options.language) == 0: extension = os.path.splitext(inputFile)[1][1:] if extension in extensions: options.language = extensions[extension] fileContent = open(inputFile, "r").read() postData = urllib.parse.urlencode({ "code" : fileContent, "author" : options.author, "password" : options.password, "tabwidth" : options.tabwidth, "language" : options.language, "title" : options.title, "submit" : "submit"}) output = urllib.request.urlopen("http://nopaste.tk/api.php", postData).readlines() pasteLink = str(output[0], "UTF-8").strip() deletionLink = str(output[1], "UTF-8").strip() print("Link:", pasteLink) print("Löschlink:", deletionLink) if options.clipboard == True: os.system("echo -n " + pasteLink + "|xsel") os.system("echo -n " + pasteLink + "|xsel -b")