Old:Aggiungere un motore di ricerca al quicksearch di Firefox: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
mNessun oggetto della modifica
 
(11 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
Questo script cambia ricorsivamente i permessi di file e directory, ma impostando permessi diversi per i file e per le directory. In tal modo si possono impostare con un solo comando i permessi di esecuzione di un'intera gerarchia di directory (in modo da potervi accedere) e contemporaneamente togliere il permesso di esecuzione a tutti i file ivi contenuti.
{{Old}}
Dopo il precedente [[Il vostro motore di ricerca da Firefox|tip sulla ricerca veloce]] approfondiamo con un tutorial per scrivere un plugin per aggiungere il vostro motore di ricerca preferito (nel mio caso [http://beeblex.com Beeblex]) nella barra in alto a destra di Firefox.


Basta posizionarsi nella cartella interessata e lanciare lo script. Se non viene usato nessun parametro verranno impostati dei sani default (640 per i file e 750 per le cartelle).
Il plugin non sarà molto difficile da scrivere e sarà altrettanto semplice da installare.


{{Box|Esempio|Un utilizzo tipico � quello di sanare i permessi di file copiati da cdrom, da partizioni windows, da chiavette usb formattate fat32 etc. }}
Innanzitutto vediamo com'è scritto un plugin di ricerca:


<pre>
XML:


I due parametri opzionali sono i permessi rispettivamente di file e cartelle nello stesso formato accettato da chmod.
1.
 
2.  # Search file for Beeblex
{{Box|Esempio| $ cd cartella/da/modificare/
3. #
  $ chmodr g-wx g-w
4.  # Creation:  26/07/2005 by Francesco Fullone <francesco AT fullo.net>
}}
5.  # based on http://searchplugins.mozdev.org/ by  Andreas melcom Urban
 
6.
7. <SEARCH
8.        name="Beeblex"
9.        description = "Beeblex PHP Search"
10.        method="GET"
11.        action="http://www.beeblex.com/search.php"
12. >
13.     
14. <input name="s" user>
15. <input name="d" value="ALLDB">
16. <inputnext name="start" factor="10">
17. <inputprev name="start" factor="10">
18.   
19. <interpret
20.    browserResultType="result"
21.    resultListStart="<!--a-->"
22.    resultListEnd="<!--z-->"
23.    resultItemStart="<!--m-->"
24.    resultItemEnd="<!--n-->"
25. >
26. </search>
27.
</pre>
Le cose che più ci interessano sono:


Ecco lo script:
* all'interno del tag <code>search</code> l'attributo <code>action</code> che deve contenere l'url del motore di ricerca o della pagina che prenderà la stringa in input.
<pre>
* Il tag contenente l'attributo <code>user</code> dovrà avere come valore di name il parametro di ricerca, ad esempio in Beeblex è '''s''' mentre in Google è '''q'''.
#!/bin/bash
* il secondo <code>input</code> tag contiene eventuali parametri aggiuntivi; nel mio caso ho detto a Beeblex di cercare ovunque, avrei potuto anche indicare con il valore <code>php_blogs</code> di cercare nella sola sezione dei blogs
#
* i tag <code>inputnext</code> ed <code>inputprev</code> servono per far partire la ricerca da un certo risultato, anche in questo caso sarà opportuno controllare sul motore di ricerca quali sono i parametri corretti da inserire in <code>name</code>.
# Antonio Ingargiola - 2004
#
# chmodr - Un chmod Ricorsivo, che rispetta le differenze file-directory
#
# Cambia ricorsivamente i permessi di file e directory, ma impostando
# permessi diversi per i file e per le directory
#
# USO
# ^^^
#
# chmodr
#  Senza parametri imposta ad un sano default tutti i file (640) e alle
#  directory (750) contenute nella directory corrente.
#
# chmodr permessi_file permessi_dir
#  Applica ai file nella directory corrente e sotto-directory i
'permessi_file' e tutte le directory i 'permessi_dir'. La sintassi
per i permessi e' la stessa di chmod quindi sia ottale che simbolica.
#


help () {
Una volta scritto il plugin chiamatelo con il nome del motore di ricerca ed assegnateli l'estensione .src a questo punto andate nella directory dove avete installato firefox e copiate il file all'interno della sua sottodirectory <code>searchplugins</code>.
  echo -e "\n    Antonio Ingargiola - 2004\n"
  echo -e "  chmodr - Un chmod Ricorsivo, che rispetta le differenze file-directory\n"
  echo -e "  Cambia ricorsivamente i permessi di file e directory, ma impostando"
  echo -e "  permessi diversi per i file e per le directory.\n"
                                                                         
  echo -e "  USO"
  echo -e "  ^^^\n"
  echo -e "  chmodr"
  echo -e "    Senza parametri imposta ad un sano default tutti i file (640) e alle "
  echo -e "    directory (750) contenute nella directory corrente.\n"
 
  echo -e "  chmodr permessi_file permessi_dir"
  echo -e "    Applica ai file nella directory corrente e sotto-directory i "
  echo -e "    'permessi_file' e tutte le directory i 'permessi_dir'. La sintassi"
  echo -e "    per i permessi e' la stessa di chmod quindi sia ottale che simbolica.\n"
  exit 1
}


valid_mod () {
Se volete crearvi anche un'icona dovrete usare un'immagine gif o png di 16x16 pixel con lo stesso nome del file di plugin.
# Check if the mods are syntactically correct
   
    echo "$1" |\
    perl -n -e 'if ($_ =~ /^[01234567]{3}$/) {exit 0}; exit 1'
    ok_numerical=$?


    echo "$1" |\
Per i più pigri ho preparato da scaricare o da installare via web il plugin per Beeblex descritto in questo tutorial.
    perl -n -e 'if ($_ =~ /^[ugoa]{0,3}[+-=]{1}[rwx]{1,3}$/) {exit 0}; exit 1'
    ok_symbolical=$?
   
    # echo "num $ok_numerical, sym $ok_symbolical" # DEBUG
    [ "$ok_numerical" = 0 -o "$ok_symbolical" = 0 ]
    return $?
}


[[ "$1" = -* ]] && help
Un suggerimento, se non sapete che parametri utilizzare per la ricerca createvi una shortcut nei bookmark con il [[Il vostro motore di ricerca da Firefox|metodo spiegato precedentemente]], poi aprite la finestra dei bookmark e controllate le proprietà della shortcut appena creata. L'url in questione conterrà tutti i parametri a voi necessari per scrivervi il plugin! :)


FILE_MOD="$1"
Ultima segnalazione, su mozdev c'è una [http://searchplugins.mozdev.org/ nutrita lista di plugin] di ricerca già pronta all'uso.
DIR_MOD="$2"
BASE_DIR="$3"
[ -z "$1" ] && FILE_MOD="640"
[ -z "$2" ] && DIR_MOD="750"
[ -z "$3" ] && BASE_DIR="./"


cd "$BASE_DIR"
'''[update]'''


if !( valid_mod $FILE_MOD && valid_mod $DIR_MOD ); then
Scopro, grazie a Dariosky nei commenti, che anche MozillaItalia ha una nutrita lista di [http://www.mozillaitalia.org/sherlock/ plugin per i motori di ricerca] ed inoltre esiste uno script [http://www.fullo.net/blog/images/installengine.js javascript] per installarli automaticamente da web.
    echo -e "\n ERRORE: Il formato dei permessi e' sbagliato. Per i dettagli"
    echo -e "        vedere la pagina di manuale di chmod.\n"
    exit 2
fi


ls | while read file; do
ciuaz
    if [ -d "$file" ]; then
echo " Entro nella directory '$file'"
chmod u+rwx "$file" 2> /dev/null ||\
{ echo " Non ho i permessi per entrare in '$file'"; continue; }
cd "$file"; $0 $@; cd -
chmod $DIR_MOD "$file" && echo -e " Directory '$file' impostata.\n"
    elif [ -f "$file" ]; then
echo -n "  $file ... "
chmod $FILE_MOD "$file" && echo " [ OK ]"
    else
echo " Ignoro '$file', probabilmente un link."
    fi
done
</pre>


Il core dell script (quello che esegue effettivamente il cambio dei permessi) la parte finale da '''ls | while read ...''' in poi. Tutta la parte precedente serve solo a controllare la correttezza dei parametri passati e a stampare una eventuale schermata di help.
----
----
Autore: [[Utente:TheNoise|~ The_Noise]]


[[Categoria:Sistema]]
Tratto da: [http://www.fullo.net/blog/index.php/archives/2005/07/26/aggiungere-un-motore-di-ricerca-a-firefox/ Full(o)bloG]
[[Categoria:Shell]]
[[Categoria:Script]]
[[Categoria:Tips&Tricks]]
3 581

contributi

Menu di navigazione