My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# ----------------------------------------------------------------------------
# http://www.dict.org
# Busca definições em inglês de palavras da língua inglesa em DICT.org.
# Uso: zzenglish palavra-em-inglês
# Ex.: zzenglish momentum
#
# Autor: Luciano ES
# Desde: 2008-09-07
# Versão: 2
# Licença: GPL
# ----------------------------------------------------------------------------
zzenglish ()
{
zzzz -h english "$1" && return

[ "$1" ] || { zztool uso english; return 1; }

local url="http://www.dict.org/bin/Dict/"
local query="Form=Dict1&Query=$1&Strategy=*&Database=*&submit=Submit query"

echo "$query" |
$ZZWWWPOST "$url" |
sed "
# pega o trecho da página que nos interessa
/[0-9]\{1,\} definitions\{0,1\} found/,/_______________/!d
s/____*//

# protege os colchetes dos sinônimos contra o cinza escuro
s/\[syn:/@SINONIMO@/g

# aplica cinza escuro em todos os colchetes (menos sinônimos)
s/\[/$(printf '\033[0;34m')[/g

# aplica verde nos colchetes dos sinônimos
s/@SINONIMO@/$(printf '\033[0;32;1m')[syn:/g

# \"fecha\" as cores de todos os sinônimos
s/\]/]$(printf '\033[m')/g

# pinta a pronúncia de amarelo - pode estar delimitada por \\ ou //
s/\(\\\\[^\\]\{1,\}\\\\\)/$(printf '\033[0;33;1m')\\1\\$(printf '\033[m')/g
s|\(/[^/]\+/\)|$(printf '\033[0;33;1m')\1$(printf '\033[m')|g

# cabeçalho para tornar a separação entre várias consultas mais visível no terminal
/[0-9]\{1,\} definitions\{0,1\} found/ {
H
s/.*/==================== DICT.ORG ====================/
p
x
}"
}

Change log

r710 by aureliojargas on Mar 29, 2012   Diff
SEGURANÇA: $1 colocado entre aspas na
chamada padrão zzzz -h de todas as
funções.
Go to: 
Sign in to write a code review

Older revisions

r668 by aureliojargas on Mar 28, 2012   Diff
lint: removendo espaços inúteis.
r540 by aureliojargas on May 24, 2011   Diff
COMBO: Removidos espaços e tabs
inúteis do fim das linhas, verificados
por utils/alinhamento
r524 by aureliojargas on May 23, 2011   Diff
COMBO: Agora todas as chamadas ao
zztool uso por falha na verificação
dos parâmetros possuem um return 1
depois. Assim outros scripts que usam
as funções podem detectar erros.
All revisions of this file

File info

Size: 1581 bytes, 51 lines
Powered by Google Project Hosting