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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# ----------------------------------------------------------------------------
# http://www.dicio.com.br
# Dicionário de português.
# Definição de palavras e conjugação verbal
# Fornecendo uma "palavra" como argumento retorna seu significado e sinônimo.
# Se for seguida do termo "def", retorna suas definições.
# Se for seguida do termo "conj", retorna todas as formas de conjugação.
# Pode-se filtrar pelos modos de conjugação, fornecendo após o "conj" o modo
# desejado:
# ind (indicativo), sub (subjuntivo), imp (imperativo), inf (infinitivo)
#
# Uso: zzdicportugues2 palavra [def|conj [ind|sub|conj|imp|inf]]
# Ex.: zzdicportugues2 bolacha
# zzdicportugues2 verbo conj sub
#
# Autor: Aurelio Marinho Jargas, www.aurelio.net - modicado por Itamar
# Desde: 2011-04-16
# Versão: 4
# Licença: GPL
# Requisitos: zzsemacento zzminusculas
# ----------------------------------------------------------------------------
zzdicportugues2 ()
{
zzzz -h dicportugues2 "$1" && return

local url='http://dicio.com.br'
local ini='^Significado de '
local fim='^Definição de '
local palavra=$(echo "$1"| zzminusculas)
local padrao=$(echo "$palavra" | zzsemacento)
local contador=1
local resultado

# Verificação dos parâmetros
[ "$1" ] || { zztool uso dicportugues2; return 1; }

# Verificando se a palavra confere na pesquisa
until [ "$resultado" = "$palavra" ]
do
resultado=$(
$ZZWWWDUMP "$url/$padrao" |
sed -n "
/$ini/{
s/$ini//
s/ *$//
p
}" |
zzminusculas
)
[ "$resultado" ] || { zztool eco "Palavra não encontrada"; return 1; }

# Incrementando o contador no padrão
padrao=$(echo "$padrao"|sed 's/_[0-9]*$//')
let contador++
padrao=${padrao}_${contador}
done

# Restabelecendo o contador
padrao=$(echo "$padrao"|sed 's/_[0-9]*$//')
let contador--
padrao=$(echo "${padrao}_${contador}"|sed 's/_1$//')

case "$2" in
def) ini='^Definição de '; fim=' escrita ao contrário: ' ;;
conj)
ini='Infinitivo:'; fim='\(Rimas com \|Anagramas de \)'
case "$3" in
ind) ini=' *\(INDICATIVO\|Indicativo\)'; fim='^ *\(SUBJUNTIVO\|Subjuntivo\)' ;;
sub|conj) ini='^ *\(SUBJUNTIVO\|Subjuntivo\)'; fim='^ *\(IMPERATIVO\|Imperativo\)' ;;
imp) ini='^ *\(IMPERATIVO\|Imperativo\)'; fim='^ *\(INFINITIVO\|Infinitivo\)' ;;
inf) ini='^ *\(INFINITIVO\|Infinitivo\) *$' ;;
esac
;;
esac

case "$2" in
conj)
$ZZWWWDUMP "$url/$padrao" |
sed -n "
/$ini/,/$fim/ {
/^ *\(INDICATIVO\|Indicativo\) *$/d
/^ *\(SUBJUNTIVO\|Subjuntivo\) *$/d
#/^ *\(CONJUNTIVO\|Conjuntivo\) *$/d
/^ *\(IMPERATIVO\|Imperativo\) *$/d
/^ *\(INFINITIVO\|Infinitivo\) *$/d
/\(Rimas com \|Anagramas de \)/d
/^ *$/d
s/^ *//
s/^\*/\n&/
#s/ do \(Indicativo\|Subjuntivo\|Conjuntivo\)/&\n/
#s/\* Imperativo \(Afirmativo\|Negativo\)/&\n/
#s/\* Imperativo/&\n/
#s/\* Infinitivo Pessoal/&\n/
s/^[a-z]/ &/g
p
}"
;;
*)
$ZZWWWDUMP "$url/$padrao" |
sed -n "
/$ini/,/$fim/ {
/$ini/d
/^Definição de /d
p
}
/Infinitivo:/,/Particípio passado:/p"
;;
esac
}

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.
r655 by aureliojargas on Mar 23, 2012   Diff
s/Aurélio/Aurelio/ *
r591 by itamarnet on Jul 18, 2011   Diff
zzdicportugues2: Adequando o script a
mudanças do site, muito parecidas com
o formato anterior. Trechos do código
anterior mantido em forma de
comentário, para a possibilidade de
...
All revisions of this file

File info

Size: 3089 bytes, 109 lines
Powered by Google Project Hosting