Pagina 2 di 2

Re: voglio un chilo di loghi canale

Inviato: 18 ago 2010, 01:37
da Gringo
A proposito il logo di "RaiSport" nuovo non è ancora disponibile ma si può usare quello presente in Wikipedia per costruirselo.

Re: voglio un chilo di loghi canale

Inviato: 18 ago 2010, 08:49
da alez
Trovato:

Codice: Seleziona tutto

sed -e 's,_, ,g'

Re: voglio un chilo di loghi canale

Inviato: 22 ago 2010, 22:48
da mona66
alez ha scritto:Trovato:

Codice: Seleziona tutto

sed -e 's,_, ,g'
Ciao
Grazie della risposta ma non funziona mi sembra eguale al comando da me postato sed -e 's/_/ /g'

Re: voglio un chilo di loghi canale

Inviato: 23 ago 2010, 07:44
da von fritz
Hello

Codice: Seleziona tutto

[fritz@Think_fritz ~]$ echo "Ma_perché_non_dovrebbe_funzionare_?" | sed -e 's/_/ /g'
Ma perché non dovrebbe funzionare ?
[fritz@Think_fritz ~]$
bye

Re: voglio un chilo di loghi canale

Inviato: 01 set 2010, 12:13
da mona66
Ciao
grazie della risposta, sembra scontato ma applicandolo ad un gruppo di file non funziona, la soluzione era semplice bastava un ciclo di rename a tutti i file .png e/o jpg :oops:

Codice: Seleziona tutto

for n in *.png; do
rename -v 's/_/ /' *.png
done

Re: voglio un chilo di loghi canale

Inviato: 28 nov 2010, 20:45
da Gringo
johnnyrun ha scritto:Direi che ci siamo.
Facciamo così: qui ci sono i loghi scaricati con lo script senza integrarli con niente..
Risorse -> altro -> logos_AUTO_TEST.tar.gz
Utili per tirare fuori qualcosa a manina.

Poi qui invece metto uno script: settando bene le prime variabili: controlla se il canale è già stato preso, senò lo cerca con i tre metodi.
Non tocca nessuna directory di vdr, se non in lettura. Lavora in /tmp
I nuovi loghi trovati li mette (insieme ai vecchi) in /tmp/logos

Codice: Seleziona tutto

# chili_loghi.sh - VDR -JohnnyRun

# questi file /dir non vengono toccati
CF="/video/channels.conf"
LOGODIR="/video/plugins/skinenigmang/logos"
##... perchè i loghi li trovi poi qui
DESTLOGO="/tmp/logos";
NAZIONE="it";

OPTS=" -resize 80x80 -colors 16";

LYNGCOLL="/tmp/lyng"; ##collezione lyngsat
JPG="/tmp/jpg"
# questi vengono usati solo nel fetch da google
DAL=1;
QUANTI=300; # dal 100, ne aggiungo 50, quindi fino al 150
# fine google

mkdir -p $LOGODIR $DESTLOGO;
if [ -d $LOGODIR ]; then
 cp $LOGODIR/* $DESTLOGO;
fi
#scarico roba da lyng:
if [ -d /tmp/templyng ]; then
 echo temp lyng già presente..skippo il download
else 
  cd /tmp
  mkdir templyng;
  cd templyng;
  for num in $(seq 1 15); do 
    wget -p http://www.lyngsat-logo.com/tvcountry/$NAZIONE"_"$num.html;
  done
fi
mkdir -p /tmp/lyng
cp /tmp/templyng/www.lyngsat-logo.com/logo/tv/*/*jpg $LYNGCOLL;
cd $LYNGCOLL
echo cancello quel cazz di _$NAZIONE .... e l\'estensione .jpg
for file in *_$NAZIONE*; do echo $file;mv $file $(echo $file|sed s/_$NAZIONE//|sed s/.jpg//);done
echo fatto

# Metodo 1: da file già scaricati da lyngsat
mkdir -p $JPG;
if [ -d $LYNGCOLL ] ; then echo collezione presente;
else echo manca collezione lyngsat;
exit;
fi;


IFS=$(echo -en "\n\b")
for chan in $(cat $CF |awk -F \; '{print $1}'|awk -F : '{print $1}'); do 
  if [ -r "$DESTLOGO/$chan.xpm" ] ; then echo skip $chan;continue; fi;
  printf ".";
  rechan[0]=$(echo $chan|tr \[:upper:\] \[:lower:\]|sed s/\ /\_/g|sed s/\+1/plus1/); 
  rechan[1]=$(echo $chan|tr \[:upper:\] \[:lower:\]|sed s/\ /\_/g|sed s/\+1/_plus1/); 
  rechan[2]=$(echo ${rechan[0]}|sed s/\([0-9]*\)/_\1/);
  rechan[3]=$(echo ${rechan[2]}|sed s/^/mediaset_/);
  rechan[4]=$(echo ${rechan[2]}|sed s/_premium//);
  rechan[5]=$(echo ${rechan[2]}|sed s/_-_premium//);

  for num in $(seq 0 5); do 
#echo cerco $LYNGCOLL/${rechan[$num]} ;
    if [ -r $LYNGCOLL/${rechan[$num]} ]; then 
  echo trovato $num $chan ${rechan[$num]}
bash -c "convert $OPTS $LYNGCOLL/\"${rechan[$num]}\" $DESTLOGO/\"$chan\".xpm"
break;
    fi
  done
done

#metodo 2: cerco su google qualcosa che c'entra con lyngsat
for MODE in l g; do
 IFS=$(echo -en "\n\b")
 for CHAN in $(cat $CF|grep -v ^:|tail -n +$DAL|head -n $QUANTI |awk -F\; '{print $1}'|awk -F: '{print $1}'); do
   echo $CHAN;
   OC=$CHAN;
   if [ -r $DESTLOGO/$OC.xpm ] ; then echo skip $OC;continue; fi
   CHAN=$(echo $CHAN|sed s/+/%2B/|sed s/\ /+/g);
   echo cerco $CHAN;
   if [[ $MODE = "l" ]]; then
   echo LYNGSAT  MODE;
   LOGOURL=$(curl -A "mozilla/1.0" 'http://www.google.it/images?hl=it&gbv=2&tbs=isch%3A1&sa=1&q='$CHAN'+site%3Alyngsat-logo.com&aq=f&aqi=&aql=&oq=&gs_rfai='|lynx -stdin -dump|grep -m1 imgurl|sed s/.*imgurl=//|sed s/\&.*//);
     else
   echo GOOGLE  MODE;
   LOGOURL="http://t2.gstatic.com/images?q=tbn:"$(curl -A "mozilla/1.0" 'http://www.google.it/images?um=1&hl=it&gbv=2&'q=$CHAN'+logo&aq=f&aqi=g10&aql=&oq=&gs_rfai='|lynx -stdin -dump|grep -m1 tbnid|sed s/.*tbnid=//|sed s/:.*//)
    fi
   if [[ $LOGOURL = "" ]] ; then continue;fi
   echo $LOGOURL
   wget -t 4 --timeout=5 -O $JPG/"$OC" $LOGOURL;
   bash -c "convert $OPTS $JPG/\"$OC\" \"$DESTLOGO/$OC.xpm\""
   sleep 0.2;
 done
done
echo "trovi i loghi in $DESTLOGO";
Ciao Jonnyrun,
ho provato il tuo script e devo dire che funziona alla grande.

Una cosa però ho notato, per creare i loghi di Skinenigma-NG a suo tempo avevo parlato con lo sviluppatore che mi suggeriva di usare determinati parametri e perciò nel mio script avevo impostato questa riga:

Codice: Seleziona tutto

-resize 80x80! -colors 21 -depth 8 -type PaletteMatte -filter cubic -density 72x72
al posto della tua:

Codice: Seleziona tutto

-resize 80x80 -colors 16
Cosa ne pensi? Il logo potrebbe essere ancora più nitido?

Ma soprattutto come caspita si fa a rimuovere lo sfondo in modo che sia visibile solo il logo senza lo sfondo bianco? Io di solito lo facevo con GIMP usando Livello -> Trasparenza -> Colore ad alfa ma farlo per ogni logo è da impazzire :-(

Re: voglio un chilo di loghi canale

Inviato: 28 feb 2011, 20:31
da jan23
Ciao johnnyrun

e grazie mille davvero per il tuo lavoro.
Disattivando il "metodo 2" mi sono accorto che lo script converte solo una piccola parte delle immagini
scaricate da lyngsat. Il problema sembra legato al fatto che l'estensione non viene cancellata in tutti i file,
così ho risolto in questo modo:

Codice: Seleziona tutto

#for file in *_$NAZIONE*; do echo $file;mv $file $(echo $file|sed s/_$NAZIONE//|sed s/.jpg//);done
for file in *_$NAZIONE*; do echo $file;mv $file $(echo $file|sed s/_$NAZIONE//);done
for file in *.jpg*; do echo $file;mv $file $(echo $file|sed s/.jpg//);done


Tuttavia solo 100 delle 300 e passa immagini salvate vengono convertite.
Non capisco perché.
Avresti qualche idea?

ciao a tutti

Mi auto-rispondo: converte solo i loghi dei canali che riconosce nel channels.conf.
Rimangono eslusi i mediaset e molti altri. :(

Ciao

Re: voglio un chilo di loghi canale

Inviato: 03 mar 2012, 17:58
da ceo16
ciao mona non sò se hai risolto ma grazie a Grazy con questa riga funziona

Codice: Seleziona tutto

for i in * ; do [ -f $i ] && mv -i $i "`echo $i | sed -r 's/_/ /g'`" ; done
ciao
Ceo16