shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Descompactar arquivos pelo Nautilus


From: Fernando Mercês
Subject: Re: [shell-script] Descompactar arquivos pelo Nautilus
Date: Wed, 18 Jan 2012 23:29:26 -0200

Ah, é verdade. Você tinha perguntado se tinha algo com awk e sed e eu
foquei em trabalhar nos greps. Falha minha.

Abraço.

Att,

Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
softwarelivre-rj.org
@MenteBinaria
------------------------------------
II Hack'n Rio - 23 e 24/11
                 hacknrio.org
------------------------------------


2012/1/18 Tiago Peczenyj <address@hidden>

> **
>
>
> pode usar sed ou awk
>
> awk '/tem/ && !/nao tem/ { print }'
>
> sed -n '/tem/{ /nao tem/!p; }'
>
> perceba que no sed o ! fica depois da er
>
>
> 2012/1/18 Alysson Gonçalves de Azevedo <address@hidden>:
> > Entendi.
> > Mas veja bem, eu não quero que o grep ignore o 7z.001 nem o part1.rar,
> só o
> > 7z.002 e part2.rar em diante.
> > E para isso, uso o comando:
> >
> >> grep -E '\.(zip|rar|7z|7z\.001)$' | \
> >
> > grep -Ev '\.part([1-9][[:digit:]]|[[:digit:]]*(0|[2-9]))\.rar$'`
> >>
> >
> > até agora não achei nenhuma falha nessa logica (se quiser eu explico
> ela).
> >
> > minha duvida era se existe alguma coisa em awk ou similar para filtrar
> com
> > inclusão e exclusão ao mesmo tempo, pra não precisar de 2 greps.
> >
> > mas pelo visto não tem...
> >
> > de qq forma, vlw pela força.
> >
> > Alysson Gonçalves de Azevedo
> > (11) 8491-7730
> >
> >
> >
> > Em 18 de janeiro de 2012 17:41, Fernando Mercês <address@hidden
> >escreveu:
> >
> >> **
> >>
> >>
> >> Entendi, Alysson. Foi o que imaginei, mas o final do texto enrolou um
> >> pouco. ;-)
> >>
> >> Dá uma olhada:
> >>
> >> grep -E '\.(zip|rar|7z)$' | grep -Ev 'part[0-9]{0,3}\.rar$'
> >>
> >> O primeiro faz o grep pelas extensões, normal.
> >>
> >> O segundo grep casa com partXXX, partXX, partX ou até mesmo part, onde
> >> X é um dígito qualquer. Os arquivos *.7z.XXX já são filtrados pelo
> >> primeiro grep, então não é necessário tratar no segundo.
> >>
> >> Agora, sobre sua pergunta em não usar o segundo grep (com -v para
> >> inverter a lógica), não vejo como, a não ser que houvesse um número
> >> fixo de dígitos para o caso do partXXX.rar. Neste caso, daria pra você
> >> usar o lookbehind das regex do Perl:
> >>
> >> grep -P '(zip|7z|(?<!part[0-9]{3})\.rar)$'
> >>
> >> Mas como falei antes, este tipo de expressão só funciona com
> >> expressões de tamanho fixo. Não dá pra usar {0,3}, que é o que você
> >> precisa pois os arquivos podem ser part1, part01 ou part001 (ou até
> >> mesmo part, creio). Então, já era...
> >>
> >> Se quiser saber mais sobre esse operador "moderniho", como diz o Verde
> >> hehe dá uma olhada:
> >> http://aurelio.net/regex/guia/modernosos-nao-atras.html#3_5_6
> >>
> >>
> >> Um abraço.
> >>
> >> Att,
> >>
> >> Fernando Mercês
> >> Linux Registered User #432779
> >> www.mentebinaria.com.br
> >> softwarelivre-rj.org
> >> @MenteBinaria
> >> ------------------------------------
> >> II Hack'n Rio - 23 e 24/11
> >>                  hacknrio.org
> >> ------------------------------------
> >>
> >> 2012/1/18 Alysson Gonçalves de Azevedo <address@hidden>:
> >>
> >> > é que é assim, Fernando, tanto o 7zip quanto o rar permite você
> dividir
> >> os
> >> > arquivos em partes pequenas de tamanhos desejados... isso para poder
> >> > armazenar arquivos grandes em disquetes ou etc.
> >> >
> >> > essa divisão é feita de seguinte forma.
> >> > o 7zip cria vários arquivos no seguinte formato Arquivo.7z.N, onde N
> vai
> >> de
> >> > 001 até a quantidade total de arquivos.
> >> > já o rar divide em Arquivo.part1.rar até Arquivo.partN.rar
> >> > e para descompactar, vc clica no primeiro arquivo e manda extrair,
> >> > normalmente. Se você clicar para extrair diretamente o segundo, ele
> vai
> >> > ignorar o primeiro e, no final, vai dar erro.
> >> >
> >> > agora, indo ao ponto, naquele trecho do código, eu faço um ls para
> >> > filtrando apenas os arquivos compactados.
> >> > o problema é que se eu filtrar apenas por ".rar", vai retornar o
> >> > "Arquivo.part1.rar" e todos os outros "Arquivo.partN.rar", e com
> isso, eu
> >> > vou rodar o comando de extrair trocentas vezes (o que já está errado,
> por
> >> > que tem que executar apenas 1 vez), e sendo que só a primeira vai
> >> funcionar
> >> > e todas as demais vão dar erro.
> >> >
> >> > e para variar, o sistema de divisão do rar não é padronizado, igual ao
> >> 7z,
> >> > o "Arquivo.partN.rar" pode começar com 1, 01, 001, etc.
> >> > por isso eu tenho que fazer todo aquele malabarismo.
> >> >
> >> > E de certa forma, está funcionando. A questão mesmo que perguntei era
> se
> >> > alguém conhece outro comando para fazer o "grep" e o "grep -v"
> juntos, pq
> >> > eu não consegui achar nada...
> >> >
> >> > No mais, muito obrigado e você e todo mundo que tá sempre ajudando.
> >> >
> >> > Alysson Gonçalves de Azevedo
> >> > (11) 8491-7730
> >> >
> >> >
> >> >
> >> > Em 18 de janeiro de 2012 09:13, Fernando Mercês <address@hidden
> >> >escreveu:
> >> >
> >> >> **
> >>
> >> >>
> >> >>
> >> >> Sempre tem como encurtar. hehe
> >> >>
> >> >> No entanto, confesso que não entendi bem a última parte. Você diz que
> >> quer
> >> >> retornar por exemplo "arquivo2.part1.rar", mas quer ignorar
> >> >> "arquivo2.part2.rar". É isso mesmo? Poderia explicar melhor?
> >> >>
> >> >> Eu tinha entendido que você não queria arquivos com "part". Neste
> caso:
> >> >>
> >> >> grep -E '\.(zip|rar|7z(\.001)?)$' | grep -Ev 'part[0-9]{0,3}\.rar'
> >> >>
> >> >> Agora, se só não quiser os arquivos que terminam com .part, só o
> >> primeiro
> >> >> grep já resolve.
> >> >>
> >> >> Qualquer outra possibilidade eu não entendi. rs
> >> >>
> >> >> Um abraço.
> >> >>
> >> >> Att,
> >> >>
> >> >> Fernando Mercês
> >> >> Linux Registered User #432779
> >> >> www.mentebinaria.com.br
> >> >> softwarelivre-rj.org
> >> >> @MenteBinaria
> >> >> ------------------------------------
> >> >> II Hack'n Rio - 23 e 24/11
> >> >> hacknrio.org
> >> >> ------------------------------------
> >> >>
> >> >> 2012/1/15 Alysson Gonçalves de Azevedo <address@hidden>
> >> >>
> >> >> > **
> >> >>
> >> >> >
> >> >> >
> >> >> > Ola pessoal, mais uma vez amolando vocês aqui, mas segue a nova
> >> versão do
> >> >> > programinha: http://pastebin.com/xT4ySeku
> >> >> > Com relação à funcionalidade do programa, acho que já está ok
> >> (inclusive
> >> >> eu
> >> >> > dei um jeito de colocar o yad bunitinho junto).
> >> >> >
> >> >> > IFS="
> >> >> > > "
> >> >> > >
> >> >> > > #NAUTILUS_SCRIPT_SELECTED_FILE_PATHS é a lista de todos os
> arquivos
> >> >> > > selecionados, por isso é necessário tratar eles com um for
> >> >> > > for SELECTED in ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}; do
> >> >> >
> >> >> > > #Muda o dir corrente para o dir passado por parametro e então
> extrai
> >> >> > > os arquivos la
> >> >> > > [ -d ${SELECTED} ] && cd ${SELECTED} || cd "`dirname
> "${SELECTED}"`"
> >> >> > >
> >> >> > > #Lista os arquivos a serem descompactados, se for um arquivo,
> >> retorna
> >> >> > > ele mesmo, se for uma pasta, retorna os arquivos dentro dela
> >> >> > > FILES=`ls ${SELECTED} | grep -E '\.(zip|rar|7z|7z\.001)$' | grep
> -Ev
> >> >> > > '\.part([1-9][[:digit:]]|[[:digit:]]*(0|[2-9]))\.rar$'`
> >> >> > > #O segundo grep exclui arquivos.partN.rar, onde N não seja
> 1,01,001
> >> e
> >> >> > > etc.
> >> >> > >
> >> >> > > #Extrai cada arquivo da lista
> >> >> > > for NOME in ${FILES}; do
> >> >> > > echo "#${NOME##/*/}" #Mostra o nome do arquivo no display de
> >> >> > > progresso do yad
> >> >> > > 7z x -y "${NOME}"
> >> >> > > done
> >> >> > > done | \
> >> >> > > yad --title="yXtractor" --text="Extraindo arquivos..." --progress
> >> >> > > --pulsate --no-buttons --auto-close --width=300 #--undecorated
> >> >> > >
> >> >> >
> >> >> > a minha duvida ficou no trecho:
> >> >> > FILES=`ls ${SELECTED} | \
> >> >> > * grep -E '\.(zip|rar|7z|7z\.001)$' | \
> >> >> > grep -Ev '\.part([1-9][[:digit:]]|[[:digit:]]*(0|[2-9]))\.rar$'*`
> >> >>
> >> >> >
> >> >> > esse trecho serve para retornar arquivos completos e divididos,
> assim:
> >> >> > "arquivo1.rar", "arquivo2.part1.rar", "arquivo3.part001.rar" mas
> que
> >> >> ignore
> >> >> > "arquivo2.part2.rar" ou "arquivo3.part010", por exemplo.
> >> >> >
> >> >> > a questão é... tem como encurtar esse trecho? talvez um awk ou
> outra
> >> >> > coisa... eu até dei uma googlada, mas eu não sei exatamente quais
> >> termos
> >> >> > procurar...
> >> >> >
> >> >> > desde já agradeço.
> >> >> >
> >> >> >
> >> >> > Alysson Gonçalves de Azevedo
> >> >> > (11) 8491-7730
> >> >> >
> >> >> > Em 15 de janeiro de 2012 13:29, Alysson Gonçalves de Azevedo <
> >> >> >
> >> >> > address@hidden> escreveu:
> >> >> >
> >> >> > > Hehe, bem, o seu livro ta na lista pra eu comprar...
> >> >> > > mas como comecei a fazer o script já era 2h da manhã, não tinha
> >> >> livraria
> >> >> > > aberta...
> >> >> > >
> >> >> > > mas enfim, por enquanto eu vou usar a versão simples e depois,
> >> quando
> >> >> > > tiver tempo, eu descubro como usar o Yad.
> >> >> > >
> >> >> > > Vlw o/.
> >> >> > >
> >> >> > >
> >> >> > > Alysson Gonçalves de Azevedo
> >> >> > > (11) 8491-7730
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > > Em 15 de janeiro de 2012 12:22, Julio C. Neves <
> >> address@hidden
> >> >> > >escreveu:
> >> >> > >
> >> >> > > Fala Alisson,
> >> >> > >> tenho algumas observações acerca do seu script:
> >> >> > >>
> >> >> > >> A partir do Bash 4.0 vc tem o cmd coproc, para fazer thread. Dê
> >> >> > >> preferência
> >> >> > >> a usá-lo no seu script;
> >> >> > >>
> >> >> > >> Como vc não usa o IFS diferente de <ENTER>, não precsa salvá-lo
> nem
> >> >> > >> restaurá-lo, pois será automaticamente restaurado ao final do
> >> sript;
> >> >> > >>
> >> >> > >> Eu trocaria:
> >> >> > >>
> >> >> > >> for SELECTED in `find ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}
> -type
> >> f
> >> >> > >> -maxdepth 1 -regex
> >> >> > >> ".*\(zip\|rar\|7z\|tar\|gz\|bz2\|tar.gz\|tar.bz2\|lzma\)$"`
> >> >> > >>
> >> >> > >> por:
> >> >> > >>
> >> >> > >> for SELECTED in `grep -E
> >> >> > \.(zip|rar|7z|tar|gz|bz2|tar.gz|tar.bz2|lzma)$"`
> >> >> > >>
> >> >> > >> Por ser mais curto e mais rápido e rodar em qq plataforma.
> >> >> > >>
> >> >> > >> Amigo, nunca nessa lista ninguém me ouviu falar para comprar meu
> >> >> livro,
> >> >> > já
> >> >> > >> que publiquei outro na Internet.
> >> >> > >>
> >> >> > >> Agora publiquei um sobre interfaces gráficas, que abrange o
> dialog,
> >> >> > >> kdialog, zenity e YAD. Escrevi esse livro pq precisei usar
> zenity e
> >> >> > >> descobri que não existe documentação completa (nem no man) e
> tive
> >> de
> >> >> > >> aprendê-lo pelo código. Essa característica é comum a todos.
> >> >> > >>
> >> >> > >> Não creio que exista literatura sobre esses 4 sws tão completa
> em
> >> >> nenhum
> >> >> > >> idioma qto o Bombando o Shell (pelo menos em português e inglês
> não
> >> >> > >> existe,
> >> >> > >> só se estiver muito bem escrito).
> >> >> > >>
> >> >> > >> O YAD merece esse investimento. É uma revolução em todas as
> >> interfaces
> >> >> > >> gráficas é o que se fez de mais significante desde o TK (que
> >> >> > infelizmente
> >> >> > >> não foi portado para o Shell, mas tenho ideia de fazê-lo em
> 2012).
> >> >> > >>
> >> >> > >> O Raimundo assistiu uma palestra minha (no CONSEGI em BSB) e
> gostou
> >> >> > tanto
> >> >> > >> do sw que escreveu o artigo sobre YAD que vc leu. O YAD é muito
> >> >> > completo e
> >> >> > >> está com uma evolução a jato. Quem gosta de shell não pode
> >> ignorá-lo.
> >> >> > >>
> >> >> > >> Abcs,
> >> >> > >> Julio
> >> >> > >> *Já foi lançado "Bombando o
> >> >> > >> Shell<
> >> >> > >>
> >> >> >
> >> >>
> >>
> http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666
> >> >> > >> >
> >> >> > >> ". *
> >> >> > >> *Show **de interfaces gráficas sob Shell!*
> >> >> > >> *
> >> >> > >> *
> >> >> > >>
> >> >> > >>
> >> >> > >>
> >> >> > >> Em 15 de janeiro de 2012 02:33, Alysson Gonçalves de Azevedo <
> >> >> > >> address@hidden> escreveu:
> >> >> > >>
> >> >> > >> > **
> >> >> > >> >
> >> >> > >> >
> >> >> > >> > Salve pessoal (que fica até de madrugada brincando com shell)!
> >> >> > >> >
> >> >> > >> > Bem, outro dia eu mandei um email da lista, sobre problemas
> com
> >> >> > >> codificação
> >> >> > >> > nos nomes do arquivos e talz.
> >> >> > >> > Acontece que eu percebi que eu só tenho aquele problema
> quando eu
> >> >> uso
> >> >> > o
> >> >> > >> > programa padrão do gnome, através da opção "Extrair aqui", no
> >> menu
> >> >> de
> >> >> > >> > contexto do nautilus.
> >> >> > >> > Quando eu descompacto esses mesmos arquivos pelo terminal,
> usando
> >> >> > >> programas
> >> >> > >> > como gzip, tar e 7z, eu não tenho esse problema.
> >> >> > >> >
> >> >> > >> > Com isso, decidi montar meu próprio script <
> >> >> > >> http://pastebin.com/6rgRUgVL>,
> >> >> > >> > nesse link, o programa já extrai os arquivos selecionados, ou
> se
> >> for
> >> >> > uma
> >> >> > >> > pasta, ele descompacta recursivamente, e etc.
> >> >> > >> > Até aqui foi fácil.
> >> >> > >> >
> >> >> > >> > Agora, como descompactar muitos arquivos pode ser "demorado",
> eu
> >> >> > pensei
> >> >> > >> eu
> >> >> > >> > colocar o yad no meio... (como eu não sei usar nem yad, nem
> >> zenity,
> >> >> > >> resolvi
> >> >> > >> > começar pelo primeiro).
> >> >> > >> >
> >> >> > >> > Seguindo esse exemplo<
> >> >> > >> >
> >> >> > >>
> >> >> >
> >> >>
> >>
> http://www.vivaolinux.com.br/artigo/Yad-016-Eu-quero-sempre-mais-de-ti/?pagina=4
> >> >> > >> > >,
> >> >> > >> > eu gostaria que ao executar o script, uma tela de
> acompanhamento
> >> >> fosse
> >> >> > >> > exibida, para o usuário saber se ainda está descompactando ou
> se
> >> já
> >> >> > >> acabou.
> >> >> > >> >
> >> >> > >> > Segue minha versão adaptada:
> >> >> > >> >
> >> >> > >> > > # Para funcionar, salve este arquivo com um nome qualquer no
> >> >> > >> diretório:
> >> >> > >> > > # "~/.gnome2/nautilus-scripts/"
> >> >> > >> > > # O nome que colocar no arquivo será Exibido no menu de
> >> contexto
> >> >> do
> >> >> > >> > > Nautilus.
> >> >> > >> > > #
> >> >> > >> > > # Para utilizar, basta apenas selecionar os arquivos, clique
> >> com o
> >> >> > >> botão
> >> >> > >> > > direito,
> >> >> > >> > > # opção Scripts, clicar na opção com o nome desse script.
> >> >> > >> > >
> >> >> > >> > > OLDIFS=${IFS}
> >> >> > >> > > IFS="
> >> >> > >> > > "
> >> >> > >> > > dcompact(){
> >> >> > >> > > #Muda o dir corrente para o dir passado por parametro e
> então
> >> >> extrai
> >> >> > >> > > os arquivos la
> >> >> > >> > > [ -d ${1} ] && cd ${1} || cd "`dirname "$1"`"
> >> >> > >> > > #Lista os arquivos a serem descompactados
> >> >> > >> > > FILES=`find $1 -maxdepth 1 -type f -regex
> >> >> > >> > > ".*\(zip\|rar\|7z\|tar\|gz\|bz2\|tar.gz\|tar.bz2\|lzma\)$"`
> >> >> > >> > > #Contador
> >> >> > >> > > i=0
> >> >> > >> > > for FNOME in ${FILES}
> >> >> > >> > > do
> >> >> > >> > > 7z x -y "${FNOME}" & PID=$!;
> >> >> > >> > > QTD=$(ps aux | egrep "$PID.*" | wc -l)
> >> >> > >> > > while [ ${QTD} -eq 1 ]
> >> >> > >> > > do
> >> >> > >> > > i=$((i+1))
> >> >> > >> > > QTD=$(ps aux | egrep "$PID.*" | wc -l)
> >> >> > >> > > sleep 0.25
> >> >> > >> > > echo "$i"
> >> >> > >> > > done
> >> >> > >> > > done
> >> >> > >> > > killall yad
> >> >> > >> > > exit 0
> >> >> > >> > > }
> >> >> > >> > > dcompact ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS} \
> >> >> > >> > > | yad --multi-progress --title='Extrair aqui'
> >> >> --button='Cancelar':1
> >> >> > >> > > --bar="Extraindo-os...":NORM 5
> >> >> > >> > >
> >> >> > >> > > IFS=${OLDIFS}
> >> >> > >> > >
> >> >> > >> >
> >> >> > >> > Com esse script, a janelinha do Yad aparece e já some na
> >> sequencia
> >> >> (eu
> >> >> > >> não
> >> >> > >> > acredito que meu note seja tão rápido pra descompactar 4
> >> arquivos de
> >> >> > >> 200mb
> >> >> > >> > cada em menos de 1s).
> >> >> > >> >
> >> >> > >> > O meu problema é: eu não achei uma documentação como usar o
> yad,
> >> e
> >> >> > >> apenas
> >> >> > >> > tentar adaptar não deu resultado.
> >> >> > >> > Alguém ai consegue me dar alguma dica, por menor que seja?!
> >> >> > >> >
> >> >> > >> > Obrigado.
> >> >> > >> >
> >> >> > >> > Alysson Gonçalves de Azevedo
> >> >> > >> > (11) 8491-7730
> >> >> > >> >
> >> >> > >> > [As partes desta mensagem que não continham texto foram
> >> removidas]
> >> >> > >> >
> >> >> > >> >
> >> >> > >> >
> >> >> > >>
> >> >> > >>
> >> >> > >> [As partes desta mensagem que não continham texto foram
> removidas]
> >> >> > >>
> >> >> > >>
> >> >> > >>
> >> >> > >> ------------------------------------
> >> >> > >>
> >> >> > >> ----------------------------------------------------------
> >> >> > >> Esta lista não admite a abordagem de outras liguagens de
> >> programação,
> >> >> > >> como perl, C etc. Quem insistir em não seguir esta regra será
> >> moderado
> >> >> > sem
> >> >> > >> prévio aviso.
> >> >> > >> ----------------------------------------------------------
> >> >> > >> Sair da lista: address@hidden
> >> >>
> >> >> > >> ----------------------------------------------------------
> >> >> > >> Esta lista é moderada de acordo com o previsto em
> >> >> > >> http://www.listas-discussao.cjb.net
> >> >> > >> ----------------------------------------------------------
> >> >> > >> Servidor Newsgroup da lista: news.gmane.org
> >> >> > >> Grupo: gmane.org.user-groups.programming.shell.brazil
> >> >> > >>
> >> >> > >> Links do Yahoo! Grupos
> >> >> > >>
> >> >> > >>
> >> >> > >>
> >> >> > >
> >> >> >
> >> >> > [As partes desta mensagem que não continham texto foram removidas]
> >> >> >
> >> >> >
> >> >> >
> >> >>
> >> >> [As partes desta mensagem que não continham texto foram removidas]
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >> > [As partes desta mensagem que não continham texto foram removidas]
> >> >
> >> >
> >> >
> >> > ------------------------------------
> >> >
> >> > ----------------------------------------------------------
> >> > Esta lista não admite a abordagem de outras liguagens de programação,
> >> como perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
> >> prévio aviso.
> >> > ----------------------------------------------------------
> >> > Sair da lista: address@hidden
> >> > ----------------------------------------------------------
> >> > Esta lista é moderada de acordo com o previsto em
> >> http://www.listas-discussao.cjb.net
> >> > ----------------------------------------------------------
> >> > Servidor Newsgroup da lista: news.gmane.org
> >> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >> >
> >> > Links do Yahoo! Grupos
> >> >
> >> >
> >>
> >>
> >>
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]