2009/10/29 Eduardo Leoni <
e.l...@gmail.com>:
> O wget toma conta dos nomes, e você pode passar a opção pra ele pra fazer o
> download só quando necessário.
Hmm, verdade! Show!
>>
>> > É melhor fazer a dependência ser em relação a um *arquivo de dado* do
>> > que em relação a um script pra eles poderem ser independentes, de
>> > linguagens diferentes e tal. Por exemplo, o script pra baixar os
>> > detalhes dos deputados depende do CSV gerado com o índice deles (com
>> > ID, nome parlamentar, estado e partido). É melhor fazer ele checar se
>> > o CSV existe do que fazê-lo chamar, através de "require", o script que
>> > raspa o índice.
>> >
>
> Tem várias dependências entre meus scripts. Mas posso criar um pacote (algo
> tipo um "gem" do ruby) pra tomar conta disso. Eventualmente.
Ah, esse tipo de dependência. Bom, o que eu tenho agora é código sendo
reutilizado pra parte de parâmetros da linha de comando. Pra esse tipo
de coisa acho que é bom sim reusar, e a gente assume uma estrutura de
diretórios pros scripts, sem problema. Eu mesmo tô assumindo que os
meus tão no mesmo diretório. Não acho necessário pensar em pacotes,
etc., pelo menos não agora.
É verdade. Pra quem quiser coisas poucas, selecionadas, vai ser muito
melhor usar a API web quando tivermos uma, então não temos que nos
preocupar com isso no nível dos scripts.
Como você disse, o objetivo que eu pensei é o cara fazer simplesmente:
$ git clone git://
github.com/legisdados/legisdados
$ cd legisdados
$ rake
E aí ele já tem:
legisdados/data
legisdados/source_data
com tudo o que ele precisa. E depois disso é só dar um:
$ rake update
e os scripts pegam as atualizações. Aí o cara bota isso num cron job e pronto.
A estura do /source_data, inclusive, acho melhor ficar fora do /data,
como acima. Ficam em diretórios totalmente separados. Até porque
depois, quando formos oferecer o /data por rsync, a maioria das
pessoas não vai querer pegar o /source_data junto. E aí no source_data
nem precisa daquele lance de br_chamber, etc. Dá pra usar só o formato
que vc sugeriu:
/source_data/
www.camara.gov.br
/source_data/
www.senado.gov.br
/source_data/
www.al.sp.gov.br
...
etc.