#! /usr/bin/python -Wignore import os, sys, lodgeit, random IMAGE = object() def copy_image(): filename = '/tmp/xpasteme.png' try: os.unlink(filename) except OSError: pass os.system('import -frame ' + filename) if not os.path.isfile(filename): print filename, 'not written, aborting' sys.exit(1) remotename = 'img-' for i in range(5): remotename += random.choice( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') remotename += '.png' os.system('scp %s codespeak.net:public_html/tmp/%s' % (filename, remotename)) return 'http://codespeak.net/~arigo/tmp/%s' % remotename if len(sys.argv) == 1: print 'copying from clipboard' g = os.popen("/home/arigo/bin/xsel -p", 'r') data = g.read() g.close() else: assert len(sys.argv) == 2 if sys.argv[1] == '-': print 'copying from stdin' data = sys.stdin.read() elif sys.argv[1] == '-i': print 'copying image in 1 second...' import time; time.sleep(1) data = IMAGE else: print 'copying from %r' % (sys.argv[1],) g = open(sys.argv[1], 'rb') data = g.read() g.close() if data is IMAGE: url = copy_image() else: if not data.strip(): os.system("xmessage 'No data in the clipboard!' &" % url) sys.exit() url = lodgeit.simple_paste(data) g = os.popen("/home/arigo/bin/xsel -c", 'w') g.write(url) g.close() os.system("xmessage '%s' &" % url)