Download das imagens capturadas no uMov.me

A plataforma uMov.me atende diferentes modelos de negócios visando sempre atender as demandas de nossos clientes. Pensando nisso, foi desenvolvido um novo serviço chamado Photo Downloader. 

Trata-se de um serviço que faz o download das images capturadas na execução de atividades no uMov.me. As imagens são armazenadas em pastas locais a fim de consulta diretamente em arquivos, sem necessidade de acesso a partir de uma URL.

Atenção: esse serviço está disponível através de seu código-fonte no repositório GitHub, na URL https://github.com/umovme/photo-downloader e pode ser baixado diretamente neste endereço ou, se preferir, clone o projeto para fazer sua alteração. Para usá-lo você precisa ter um conhecimento básico de Ruby e/ou desenvolvimento de aplicativos em alguma outra linguagem. Não é uma ferramenta com interface de configuração pronta para uso. É necessário configuração de parâmetros e instalação de alguns recursos, conforme detalhamento a seguir que pode também ser encontrado na documentação README do projeto.

Screen Shot 2015-10-29 at 11.07.23

Figura 1: Arquivo de configuração – environment.yml

O serviço funciona baseado nos arquivos de exportação de execução, aqueles que contém os dados coletados nas atividades do uMov.me. Ele foi desenvolvido utilizando a linguagem de programação Ruby e, por isso, é necessário instalá-la na máquina onde o serviço será executado, juntamente com a biblioteca RubyGens.

Após o download do serviço e instalação dos requisitos acima descritos, é preciso configurar o arquivo conf/environment.yml, conforme exemplo mostrado na Figura 1para ajustar os índices do arquivo .CSV onde estão localizados os campos referente às pastas e fotos/imagens a serem armazenadas. Podemos observar que o arquivo contém os parâmetros referente aos índices dos campos do arquivo .CSV, mostrado na Figura 2.

editado_Screen Shot 2015-11-03 at 11.17.03 2

Figura 2: Exemplo de arquivo de exportação de execução

Com isso o  parâmetro index_first_level_photo_folder:0 indica que o conteúdo do campo “suco” será o nome da pasta de primeiro nível, que neste caso será nomeada como “Suco Natural”. Seguindo essa ideia, as subpastas serão mapeadas pelo parâmetro index_second_level_photo_folder:1 e, de acordo com o exemplo, serão nomeadas como “Suco de Limão”, “Suco de Laranja” e “Suco de Abacaxi”.

O mapeamento dos campos com foto segue o mesmo formato, porém é apenas listado o parâmetro indexes_photo_url: e abaixo os índices dos campos referentes às imagens.

Finalizando a configuração, acesse a raiz do projeto (/photo-downloader/) e digite o comando ruby setup.rb  para a criação das pastas onde serão armazenados o arquivo de exportação .CSV e o arquivo de log do serviço.

Screen Shot 2015-10-29 at 10.52.17

Figura 3: Hierarquia de pastas e arquivos do download

Tendo executado os passos de instalação e configuração basta inserir o arquivo de exportação na pasta files_folder, e digitar o comando ruby run.rb para executar o serviço e processar o arquivo inserido.

Na execução do serviço será gerado o arquivo /log/photo_downloader.log onde será exibido o nome do arquivo processado, assim como a identificação das linhas e colunas contendo as respectivas imagens. Ao final do processamento o arquivo .CSV será renomeado com o sufixo “processado”.

O resultado da execução desde serviço é uma pasta contendo as imagens capturadas durante a execução de uma atividade no uMov.me como sugere a Figura 3.

Informações adicionais, melhorias e correções estão disponíveis publicamente na página do projeto no GitHub.

Ficou alguma dúvida? Faça contato com o nosso time!