***SUPERTIP*** Screenshot su Imageshack con un click

Personalizzazione grafica del sistema: icone, temi, sfondi, suoni, eccetera.
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

Questa è davvero una chicca...

Con una semplice combinazione di tasti è possibile catturare uno screenshot, upparlo su Imageshack ottenere il link in una finestra, ed eventualmente cancellare il file locale. Tutto senza mai avere bisogno di aprire il browser...

COSA SERVE:
imagemagick
una connessione a internet
zenity (ma se avete kde va bene anche kdialog)
xbindkeys (oppure un wm che supporta i key bindings, tipo fluxbox, fvwm ecc)

COME FARE:
Create nella vostra home, se non c'è già una cartella per gli scripts:

Codice: Seleziona tutto

mkdir ~/scripts
entrate nella cartella

Codice: Seleziona tutto

cd ~/scripts
aprite con un editor di testo il file imageshack.py

Codice: Seleziona tutto

nano imageshack.py
e copiate questo al suo interno:

Codice: Seleziona tutto

#!/usr/bin/python

# -*- coding: iso-8859-1 -*-

# script to upload images to imageshack
# ld <dot> fifty <dot> gmail <dot> com
# ld-50 @ freenode; lethal @ ptnet

VERSION = 1.0

import httplib, mimetypes, urlparse, sys, string, sgmllib

FORM_ACTION = "http://www.imageshack.us/index.php"
EXTENSIONS = ['pg', 'jpeg', 'png', 'gif', 'bmp', 'tif', 'tiff', 'swf', 'jpg']

# em bytes
MAX_FILE_SIZE="1572864"
#--------------------------------------------------------------------------
class MyParser(sgmllib.SGMLParser):
    "A simple parser class."

    def parse(self, s):
        "Parse the given string 's'."
        self.feed(s)
        self.close()

    def __init__(self, verbose=0):
        "Initialise an object, passing 'verbose' to the superclass."

        sgmllib.SGMLParser.__init__(self, verbose)
        self.hyperlinks = []

    def start_input(self, attributes):
        "Process a hyperlink and its 'attributes'."

        for name, value in attributes:		
		if name == "value":
			self.hyperlinks.append(value)

    def get_hyperlinks(self):
        "Return the list of hyperlinks."
        return self.hyperlinks
#--------------------------------------------------------------------------
def posturl(url, fields, files):
    urlparts = urlparse.urlsplit(url)
    return post_multipart(urlparts[1], urlparts[2], fields, files)

#--------------------------------------------------------------------------
def post_multipart(host, selector, fields, files):
    """
    Post fields and files to an http host as multipart/form-data.
    fields is a sequence of (name, value) elements for regular form fields.
    files is a sequence of (name, filename, value) elements for data to be uploaded as files
    Return the server's response page.
    """
    content_type, body = encode_multipart_formdata(fields, files)
    h = httplib.HTTP(host)
    h.putrequest('POST', selector)
    h.putheader('content-type', content_type)
    h.putheader('content-length', str(len(body)))
    h.endheaders()
    h.send(body)
    errcode, errmsg, headers = h.getreply()
    return h.file.read()
#--------------------------------------------------------------------------
def encode_multipart_formdata(fields, files):
    """
    fields is a sequence of (name, value) elements for regular form fields.
    files is a sequence of (name, filename, value) elements for data to be uploaded as files
    Return (content_type, body) ready for httplib.HTTP instance
    """
    BOUNDARY = '----------ThIs_Is_tHe_bouNdaRY_$'
    CRLF = '\r\n'
    L = []
    for (key, value) in fields:
        L.append('--' + BOUNDARY)
        L.append('Content-Disposition: form-data; name="%s"' % key)
        L.append('')
        L.append(value)
    for (key, filename, value) in files:
        L.append('--' + BOUNDARY)
        L.append('Content-Disposition: form-data; name="%s"; filename="%s"' % (key, filename))
        L.append('Content-Type: %s' % get_content_type(filename))
        L.append('')
        L.append(value)
    L.append('--' + BOUNDARY + '--')
    L.append('')
    body = CRLF.join(L)
    content_type = 'multipart/form-data; boundary=%s' % BOUNDARY
    return content_type, body
#--------------------------------------------------------------------------
def get_content_type(filename):
    return mimetypes.guess_type(filename)[0] or 'application/octet-stream'
#--------------------------------------------------------------------------
def main():
	if len(sys.argv) != 2:
		print "usage: imageshack filename\n"
		sys.exit(1)
		
	filename = sys.argv[1]
	extension = filename.split(".")[-1]
	
	if ('.' not in filename or extension.lower() not in EXTENSIONS):
		print "Only the following extensions are allowed: " + string.join(EXTENSIONS) + "\n"
		sys.exit(1)
		
	try:
		f = open(filename, 'r')
		conteudo = f.read()
		f.close()
	except IOError, (errno, strerror):
		print "%s:" % (strerror)
		sys.exit(1)

	ret_val = posturl(FORM_ACTION, [('MAX_FILE_SIZE', '3145728'), ('uploadtype', 'on'), ('optimage', '1'), ('resizeoptions', ''), ('rembar', '1')], [('fileupload', 'filename', conteudo)])
	
	myparser = MyParser()
	myparser.parse(ret_val)

	links = myparser.get_hyperlinks()
	links = filter(lambda x: x.startswith('http'), links)
	
	if len(links) > 1:
		print links[1]
		print
		sys.exit(0)
	else:
		print 'Error uploading image'
		sys.exit(1)
#--------------------------------------------------------------------------
main()
Salviamo e usciamo

Ho copiato lo script da http://student.dei.uc.pt/~smartins/imageshack.py&nbsp; Non credevate mica che l'avessi fatto io???


Diamo i permessi di esecuzione allo script

Codice: Seleziona tutto

chmod +x imageshack.py
Per semplificare supponiamo di usare xbindkeys e di voler usare il tasto PrtSc

Codice: Seleziona tutto

nano ~/.xbindkeysrc
aggiungiamo queste righe se utilizziamo zenity

Codice: Seleziona tutto

"import -windowid root screen.jpg && ~/scripts/imageshack.py screen.jpg | zenity --title "Link per la mia immagine" --text-info && rm screen.jpg"
m:0x0 + c:111 
oppure queste se usiamo kde (dovrebbe essere così ma non l'ho testato)

Codice: Seleziona tutto

"import -windowid root screen.jpg && kdialog  --msgbox `~/scripts/imageshack.py screen.jpg` && rm screen.jpg"
m:0x0 + c:111 
Per i wm che supportano il keybindings è sufficente inserire il comando nel file apposito rispettando la sintassi del wm.

CONCLUSIONE:
Con la semplice pressione del tasto PrtSc (o di uno a vostra scelta) è possibile catturare uno screenshot del desktop, spedirlo a imageshack e vedere apparire una simpatica finestra con il link all'immagine.
Ultima modifica di topper_harley il lunedì 16 ottobre 2006, 6:35, modificato 1 volta in totale.
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
Ajeje-Brazorf

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da Ajeje-Brazorf »

Bello questo trucco Topper! Grazie!
Ma dove li vai a pescare? ;D
Ciao
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

Ajeje-Brazorf ha scritto: Bello questo trucco Topper! Grazie!
Ma dove li vai a pescare? ;D
Ciao
Mi spiace ma è assolutamente TOP SECRET !!!
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
Ajeje-Brazorf

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da Ajeje-Brazorf »

Immaginavo, ... la mia era una domanda sarcàstica...  (rotfl)
Sapevo che non avrei potuto ripetere in questo 3d quello postato altrove!  (rotfl)
Ultima modifica di ajeje-brazorf il mercoledì 19 luglio 2006, 0:13, modificato 1 volta in totale.
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

Ajeje-Brazorf ha scritto: Immaginavo, ... la mia era una domanda sarcàstica...  (rotfl)
Sapevo che non avrei potuto ripetere in questo 3d quello postato altrove!  (rotfl)
?? Sarà che ho un po' di sonno ma non ti seguo...

A cosa ti riferisci?
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
Ajeje-Brazorf

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da Ajeje-Brazorf »

A cosa ti riferisci?
Boh?!... ero stanco anch' io...  ;)
Ciao ;D
sev7en
Prode Principiante
Messaggi: 40
Iscrizione: mercoledì 19 aprile 2006, 14:30
Desktop: KDE
Distribuzione: PopOS

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da sev7en »

Ciao :) grazie per questo script, è utilissimo! Ho un problema per la configurazione: andando a salvare il file xbindkeysrc ottengo un errore di segmentation fault. Ho provato anche usando i privilegi da root ma ho sempre lo stesso codice di errore.

Da cosa puo' dipendere?




Grazie...
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

Intanto il file è ~/.xbinkeysrc (con il punto)...

Ma con cosa lo hai editato? Con nano, gedit?
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da mauro21 »

anche a me succede... ho inserito il testo, ho fatto ctrl o e poi è uscito segmentation fault

ke faccio?
Avatar utente
origin of
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1028
Iscrizione: venerdì 30 giugno 2006, 17:04
Località: Lucca

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da origin of »

bè, non so voi...ma questo tooltip è datato...e anke molto....basta andare su ubuntuforums.org per trovarlo e per trovarne molti altri :D
Utente archlinux, ex utente ubuntu.
Contatto jabber: originof@jaim.at
MIO SITO: http://www.happycode.it
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da mauro21 »

e ma come risolvo questo?
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

origin of ha scritto: bè, non so voi...ma questo tooltip è datato...e anke molto....basta andare su ubuntuforums.org per trovarlo e per trovarne molti altri :D
Tooltip??? Vabbè...

A parte questo non ho capito cosa voglia dire datato. Un tip o funziona o non funziona. Se dopo tu sai preparare uno script in maniera più elegante o più efficace non devi fare altro che postare il tuo.

Poi quando ti riferisci ad Ubuntuforum potresti per favore postarli i molti altri link?

Ad ogni modo, quando ho iniziato il 3D (leggere le date dei post ogni tanto sarebbe un buon esercizio) sono abbastanza sicuro che in ITALIANO non ci fossero altri howto come questo.
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da mauro21 »

sono d'accordo..
nessuno sa aiutarmi?
conoscete siti ke danno questi trip in italiano?
grazie
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

@mauro21: ha provato con altri editor?
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da mauro21 »

sisi c sn riuscito con sudo gedit

Codice: Seleziona tutto

sudo gedit ~/.xbindkeysrc
ma dopo aver salvato ke devo fare?
ke vuol dire Per i wm che supportano il keybindings è sufficente inserire il comando nel file apposito rispettando la sintassi del wm.?
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

Per i wm che supportano il keybindings è sufficente inserire il comando nel file apposito rispettando la sintassi del wm.
Vale la famosa regola del "se non sai cosa vuol dire allora non ti interessa".

Scherzi a parte, se usi gnome salta pure questa parte!
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da mauro21 »

e ma ora se premo il tasto stamp mi fa solo lo screenshot
Avatar utente
origin of
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1028
Iscrizione: venerdì 30 giugno 2006, 17:04
Località: Lucca

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da origin of »

topper_harley ha scritto:
origin of ha scritto: bè, non so voi...ma questo tooltip è datato...e anke molto....basta andare su ubuntuforums.org per trovarlo e per trovarne molti altri :D
Tooltip??? Vabbè...

A parte questo non ho capito cosa voglia dire datato. Un tip o funziona o non funziona. Se dopo tu sai preparare uno script in maniera più elegante o più efficace non devi fare altro che postare il tuo.

Poi quando ti riferisci ad Ubuntuforum potresti per favore postarli i molti altri link?

Ad ogni modo, quando ho iniziato il 3D (leggere le date dei post ogni tanto sarebbe un buon esercizio) sono abbastanza sicuro che in ITALIANO non ci fossero altri howto come questo.
Non ti arrabbiare.....lo script funziona e come, datato nel senso che è molto tempo che è stato sfornato...
Altri tips li trovi nella sezione HOWTOs, Tips & Tricks di ubuntuforums.org
Utente archlinux, ex utente ubuntu.
Contatto jabber: originof@jaim.at
MIO SITO: http://www.happycode.it
Avatar utente
mr.keit
Prode Principiante
Messaggi: 117
Iscrizione: lunedì 19 giugno 2006, 1:07
Località: Nel Web
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da mr.keit »


aggiungiamo queste righe se utilizziamo zenity

Codice: Seleziona tutto

"import -windowid root screen.jpg && ~/scripts/imageshack.py screen.jpg | zenity --title "Link per la mia immagine" --text-info && rm screen.jpg"
m:0x0 + c:111 
oppure queste se usiamo kde (dovrebbe essere così ma non l'ho testato)

Codice: Seleziona tutto

"import -windowid root screen.jpg && kdialog  --msgbox `~/scripts/imageshack.py screen.jpg` && rm screen.jpg"
m:0x0 + c:111 
Per i wm che supportano il keybindings è sufficente inserire il comando nel file apposito rispettando la sintassi del wm.
Con gnome arrivato a questo punto che faccio? :-[ ::) ::)
Grazie ciao
Avatar utente
topper_harley
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1078
Iscrizione: giovedì 15 dicembre 2005, 13:21
Località: Treviso/Udine
Contatti:

Re: ***SUPERTIP*** Screenshot su Imageshack con un click

Messaggio da topper_harley »

@mr.keit; mauro21

non uso gnome e non so se zenity viene di default.

se non lo avete basta installarlo; a questo punto, una volta schiacciato il tasto PrtSc dovrebbe apparivi una finestrella con il link alla vostra immagine.
Jabber: topper_harley@jabber.org - ICQ: 224179391
MSN: TopperHarley80@gmail.com-GoogleTalk: TopperHarley80

egrep -iroh "fuck | shit | suck" /usr/src/linux | sort | uniq -c | sort -r
Scrivi risposta

Ritorna a “Personalizzazione dell'ambiente desktop”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti