News:

Scarica subito LibreOffice 24.2 ancora più compatibile con la nota suite per ufficio commerciale.

Menu principale

Azioni di Thunar: servizio di hosting per le immagini

Aperto da Pope, Mercoledì 28 Novembre 2018, 12:11:18

Discussione precedente - Discussione successiva

Pope

Linus Benedict Torvalds, 25 agosto 1991: "Hello everybody out there [...] i'm doing a (free) operating system, just a hobby, won't be big and professional [...]".

nessuno

Hmm :hmm: come sei parsimonioso con le spiegazioni,

posso risponderti solo perché conoscevo già l'argomento...

L'azione che sto per proporti serve a caricare l'immagine su IMGUR, una volta impostata basterà fare clic col dx del mouse su un file .jpg o .png e scegliere la voce appena creata.

Una finestra di terminale ti mostrerà il link relativo all'immagine caricata e quello per la sua cancellazione.

Per prima cosa crea nella tua home la cartella che conterrà lo script che utilizzeremo, in questo "esercizio" la chiamerò semplicemente "Script". Ti ricordo che per tenerla nascosta sarà sufficiente anteporre un punto al suo nome, in questo caso ricordati di farlo in tutti i passaggi.

Creiamo la cartella, apri un terminale e incollaci dentro:

mkdir Script

Scarica lo script da qui: https://github.com/tremby/imgur.sh/archive/master.zip

Scompatta l'archivio, entra nella cartella ottenuta, copia il file "imgur.sh" e incollalo nella cartella "Script" che hai creato nella home.

Adesso sei pronto per creare l'azione di thunar.

- Apri thunar e scegli "imposta azioni personalizzate..." dal menu "modifica"

- Fai clic sul +

quindi nella scheda "Base", alla voce "Nome:" scrivi:

Carica immagine su Imgur

alla voce "Descrizione" scrivi:

Carica una immagine su imgur e visualizza in una finesta di terminale i links ottenuti

alla voce "Comando" scrivi:

xfce4-terminal -H -x sh ~/Script/imgur.sh %F

Se vuoi scegliti una icona rappresentativa facendo clic su "Icona:"

Adesso vai nella scheda "Condizioni di visibilità"

nella casella "schema del file" scrivi:

*.jpg;*.png

nella sezione "Appare se la selezione contiene:" spunta solo  la casella "Immagini".


Fai OK e poi "chiudi"

Hai finito, se tutti i passaggi sono corretti dovresti avere la voce nel menu a tendina del clic dx del mouse.


Questa è la procedura più semplice possibile, volendo avremmo potuto usare Zenity o Yad per rendere più accattivante l'output (al posto della finestra di terminale). In ogni caso ,almeno per me, sarebbe stata una complicazione tanto inutile quanto grande.

Fammi sapere com'è andata.

Tony

Bruciato sul tempo :clap:
Avevo appunto preparato lo script con zenity, ma fa nulla.
:ciao:

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

nessuno

...'Azz', se l'avessi saputo mi sarei risparmiato una mezz'ora buona di "tribolazioni"... :D


Se ce l'hai già pronto sarà sicuramente più "lussuoso" del mio, meglio un metodo in più...

...E magari impariamo qualcosa. ;)  :ciao:

Tony

Niente di che, l'ho preparato velocissimamente, quindi è una prima stesura con ampi margini di miglioramento.
Appaiono le finestre zenity di risposta/errore.
Questo è lo script modificato

#!/bin/bash

# Imgur script by Bart Nagel <bart@tremby.net>
# Improvements by Tino Sino <robottinosino@gmail.com>
# Version 6 or more
# I release this into the public domain. Do with it what you will.
# The latest version can be found at https://github.com/tremby/imgur.sh

# API Key provided by Bart;
# replace with your own or specify yours as IMGUR_CLIENT_ID envionment variable
# to avoid limits
default_client_id=c9a6efb3d7932fd
client_id="${IMGUR_CLIENT_ID:=$default_client_id}"

# to output usage instructions
usage () {
echo "Usage: $(basename $0) [<filename|URL> [...]]" >&2
echo
echo "Upload images to imgur and output their new URLs to stdout. Each one's" >&2
echo "delete page is output to stderr between the view URLs." >&2
echo
echo "A filename can be - to read from stdin. If no filename is given, stdin is read." >&2
echo
echo "If xsel, xclip, or pbcopy is available, the URLs are put on the X selection for" >&2
echo "easy pasting." >&2
}

# to upload a path
# First argument should be a content spec understood by curl's -F option
upload () {
curl -s -H "Authorization: Client-ID $client_id" -H "Expect: " -F "image=$1" https://api.imgur.com/3/image.xml
# The "Expect: " header is to get around a problem when using this through
# the Squid proxy. Not sure if it's a Squid bug or what.
}

# Check arguments
if [ "$1" == "-h" -o "$1" == "--help" ]
then
usage
exit 0
elif [ $# -eq 0 ]
then
zenity --info --title="Informazioni upload""Nessun file specificato; leggo dallo stdin" --width=300
exec "$0" -
fi

# Check curl is available
type curl &>/dev/null || {
zenity --error --title="Errore" "Impossibile trovare il comando curl,\nche è richiesto." --width=300
exit 17
}

errors=false

# Loop through arguments
while [ $# -gt 0 ]; do
file="$1"
shift

# Upload the image
if [[ "$file" =~ ^https?:// ]]; then
# URL -> imgur
response=$(upload "$file") 2>/dev/null
else
# File -> imgur
# Check file exists
if [ "$file" != "-" -a ! -f "$file" ]; then
zenity --info "Il file '$file' non esiste; ometto" >&2
errors=true
continue
fi
response=$(upload "@$file") 2>/dev/null
fi

if [ $? -ne 0 ]; then
zenity --error --title="Errore" --text="Upload fallito" --width=300
errors=true
continue
elif echo "$response" | grep -q 'success="0"'; then
msg="${response##*<error>}"
ERRORE=$(echo "${msg%%</error>*}")
zenity --error --title="Errore" --text="Impossibile caricare $file\nMessaggio di errore da imgur:\n$ERRORE" --width=300
errors=true
continue
fi

# Parse the response and output our stuff
url="${response##*<link>}"
url="${url%%</link>*}"
delete_hash="${response##*<deletehash>}"
delete_hash="${delete_hash%%</deletehash>*}"
URL=$(echo $url | sed 's/^http:/https:/')
DEL_PAGE=$(echo "Pagina di cancellazione:\nhttps://imgur.com/delete/$delete_hash")
zenity --info --title="Informazioni upload" --text="File $file caricato su\n$URL\n$DEL_PAGE" --width=300
done

if $errors; then
exit 1
fi


Ovviamente il comando di thunar va modificato, togliendo la parte riferita al terminale
sh ~/Script/imgur.sh %F

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

nessuno

Ho sostituito lo script originario con il tuo e corretto il comando di esecuzione, mi sembra proprio che funzioni perfettamente...



...Un gran lusso, bellissimo. Grazie!   ;)



https://i.imgur.com/13zlpma.png


Tony

Bene.
Faccio notare che l'autore dello script usa un id di default per imgur che consiglia di cambiare con il proprio.
Ovvio che se tutti usano quello di default, oltre al problema privacy per l'upload di immagini personali, si rischia l'errore per superamento degli eventuali limiti previsti per quel account/id.

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

dieguitus

Leggendo velocemente ho avuto l'impressione che lo script, nel caso non esistesse l'immagine, ti apostrofasse con "Il file non esiste, ometto" :D

Tony


Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

bobol


nessuno

Citazione di: Tony il Mercoledì 28 Novembre 2018, 19:57:04
Bene.
Faccio notare che l'autore dello script usa un id di default per imgur che consiglia di cambiare con il proprio.
Ovvio che se tutti usano quello di default, oltre al problema privacy per l'upload di immagini personali, si rischia l'errore per superamento degli eventuali limiti previsti per quel account/id.

Per quel poco che ho capito usando imgur si può fare l'upload anonimamente oppure utilizzando un account personale.

Per l'uso che ne faccio generalmente io l'upload anonimo è più che sufficiente, dal momento che tutto quello che carico è qualche screenshot da utilizzare nel forum. Chiaro che in questo genere di utilizzo non c'è niente di privato e personale.
Però trovo interessante che si possa utilizzare in una forma diversa da quella anonima.

@Pope,
pensavo che avrei avuto un tuo feedback sulla procedura proposta, ma magari non hai avuto tempo. Se invece hai incontrato difficoltà, o qualcosa non è sufficientemente chiara, non hai che da chiedere ulteriori chiarimenti.  ;)

Pope

 :ciao: La prima è quella giusta, appena ho modo ci provo, allora vado con la script di Tony se non ti offendi  ;D
Linus Benedict Torvalds, 25 agosto 1991: "Hello everybody out there [...] i'm doing a (free) operating system, just a hobby, won't be big and professional [...]".

nessuno

Perché mai dovrei offendermi (...non l'ho fatto mica io lo script) anche io sto utilizzando lo script modificato da Tony.
Io non avrei mai fatto la fatica di modificarlo solo per non avere l'output nel terminale (...perché non sono pratico di Zenity e ci avrei tribolato), ma quella fatica l'ha fatta Tony...

... E ben venga!  :)

dieguitus

Citazione di: nessuno il Giovedì 29 Novembre 2018, 11:09:35tutto quello che carico è qualche screenshot da utilizzare nel forum
Avrai in ogni caso notato che abbiamo implementato nel forum la possibilità di caricare immagini da inserire nei post tramite il servizio di imgBB, usando l'apposito "Aggiungi immagine al post" che trovi pressoché ovunque ci sia un campo di input :)

nessuno

#14
Si, lo avevo notato.

Solo che sia su xfce con "xfce4-screenshooter" che su kde con "spectacle" ho la possibilità di fare l'upload su Imgur direttamente dal programmi per lo screenshot, per cui arrivo già con un link pronto quando posto l'immagine sul forum.

Con questa azione per thunar, su xfce, la cosa è ancora più facile e immediata anche per le immagini in archivio.

Questa è la ragione per cui non ho mai avuto modo di utilizzarla.

Se usassi altri ambienti desktop la userei sicuramente. In effetti è una bella cosa.   :)

nessuno

Citazione di: dieguitus il Mercoledì 28 Novembre 2018, 20:58:43
Leggendo velocemente ho avuto l'impressione che lo script, nel caso non esistesse l'immagine, ti apostrofasse con "Il file non esiste, ometto" :D

Basterebbe aggiungere un punto esclamativo: "Il file non esiste, ometto!"...


... Si potrebbe cominciare a farli proprio così gli script, che ti insultano quando sbagli.

Provate a pensarci... :grin: :grin: :grin:

:D



Pope

Va anche a me, mi piace il miglioramento, grazie a tutti.
:ciao:
Linus Benedict Torvalds, 25 agosto 1991: "Hello everybody out there [...] i'm doing a (free) operating system, just a hobby, won't be big and professional [...]".

dieguitus

Citazione di: nessuno il Giovedì 29 Novembre 2018, 19:59:01
Solo che sia su xfce con "xfce4-screenshooter" che su kde con "spectacle" ho la possibilità di fare l'upload su Imgur direttamente dal programmi per lo screenshot, per cui arrivo già con un link pronto quando posto l'immagine sul forum.
Sì sì, pure io a suo tempo usavo uno script analogo per farlo da nautilus. Anche perché non tutti i forum offrono queste comodità ;D