Bem-vindo: Qua, 27 de Novembro 2024, 1:26 Pesquisa avançada

Script que faz download de uma imagem popular do Flickr

Escreveu alguma aplicação ou script que quer partilhar? Ou conhece algo que quer partilhar? Sabe alguma linguagem de programação e quer partilhar esse conhecimento com um tutorial? Tem alguma dúvida em alguma linguagem? Então este é o sítio certo.

Script que faz download de uma imagem popular do Flickr

Mensagempor Claudio Novais » Qua, 12 de Junho 2013, 1:41


Neste tópico apresento um script muito interessante que faz download de uma imagem popular do Flickr. Basicamente o script acede às imagens mais populares do Flickr e faz download de uma delas.

Este script é particularmente interessante para ser usado em conjunto com uma configuração do Conky que apresente imagens. Aliás, a ideia deste script nasceu depois de eu ter conhecimento de um script semelhante do Conky_Colors que mostrava um Wallpaper aleatória do nosso sistema. Neste caso, os script apresentado aqui é semelhante (e até reutiliza um pouco do anterior) mas faz download da imagem do Flickr.

Para além disso, este script gera uma imagem sempre com o mesmo tamanho mas centrada dentro de uma "caixa" transparente de tamanho fixo. Esta maneira de funcionar é algo muito importante para utilizar no Conky visto que não é possível centrar imagens no Conky. Como as imagens do Flickr muitas vezes são widescreen mas outras vezes são verticais, é importante esta funcionalidade para que depois no conky o resultado não fique desformatado. Se não estiver a perceber, basicamente uma imagem original como as imagens dentro dos quadrados abaixo, consoante a sua forma, ficarão nas seguintes posições:


Ou seja, fica na parte superior, centrada, e sempre a usar o máximo de espaço possível dentro da caixa a tracejado, mas sem perder o seu rácio. Na prática, isto resolve a falta de funcionalidades de centrar que o Conky tem.

O script conta com duas versões de bordas e conta com 3 tipos de tamanho que o utilizador pode mudar facilmente nas variáveis "theme" e "dim", respetivamente. Em breve será apresentado um conky muito interessante aqui no Ubuntued em que será utilizado o tema com as bordas mais simples e com as dimensões mais pequenas. Fique atento.

O script está licenciado com "Creative Commons Attribution 3.0" o que significa que você pode redistribuir e mudar à vontade com apenas uma única condição: atribuir o trabalho ao autor. Aliás, esta é a licença do Ubuntued em geral! ;)

Como funciona o script?



O script funciona de uma maneira muito simples: ele pode ser executado em qualquer sítio e ele irá funcionar desde que você esteja ligado à Internet; a imagem resultante do processamento fica numa localização fácil de encontrar pelo conky, em "/tmp/conkyPhoto.png".

Por isso, numa situação normal supondo que o script tem o nome "conkyPhotoFlickr.sh" está na sua pasta pessoal, se você quiser incluir num Conky, basta adicionar o seguinte à configuração do Conky:
Código: Selecionar todos
${execi 60 ~/conkyPhotoFlickr.sh}${image /tmp/conkyPhoto.png

O resultado vai ser bastante interessante: a cada 60 segundos (1 minuto) será apresentada uma imagem diferente do conjunto de imagens populares do flickr da última.

Código do script



Para finalizar, apresenta-se o script que se você quiser utilizar apenas precisa de o guardar no seu computador e depois executá-lo ou manualmente ou através do Conky, tal como explicado acima.
Código: Selecionar todos
#!/bin/bash
#
# Flikr Photos for Conky
# By Claudio Novais # http://www.ubuntued.info
# Main page of this script: http://forum.ubuntued.info/viewtopic.php?t=5100
#
# This work is licensed under a Creative Commons Attribution 3.0 Unported License.
# You can Share and Remix, but with the a condition: atribution. More about this license:
# http://creativecommons.org/licenses/by/3.0/


theme=2
dim
="small"

filename="/tmp/conkyPhotoTemp.jpg"
photo="/tmp/conkyPhoto.png"


curl -"http://www.flickr.com/explore/interesting/7days/" -/tmp/cenas.html | grep "staticflickr" /tmp/cenas.html | head -n1 | sed -'s/.*<img src="\([^"]*\)".*/\1/p' | xargs curl -"$filename"


if [[ $dim == "small" ]]; then
  geometry
="180x160"
  geometry_extent="192x172"
elif [[ $dim == "medium" ]]; then
  geometry
="238x148"
  geometry_extent="250x160"
elif [[ $dim == "big" ]]; then
  geometry
="318x200"
  geometry_extent="330x212"
fi

cp 
"$filename" "$photo"
convert "$filename" -resize "$geometry" "$photo"

if [[ $theme -eq 1 ]]; then
# Theme 1
    convert -page +2+"$photo"\
        -bordercolor snow -border 4.5\
        -bordercolor gray55 -border 1 \
        -background  black  \( +clone -shadow 40x2+1+\) +swap \
        -background  none -flatten -gravity North -extent "$geometry_extent" \
    "$photo"
elif [[ $theme -eq 2 ]]; then
# Theme 2
    convert -page +4+"$photo"\
        -bordercolor gray10 -border 1\
        -background  black  \( +clone -shadow 40x4+2+\) +swap \
        -background  none -flatten -gravity North -extent "$geometry_extent" \
    "$photo"
fi
exit 
Avatar do usuário
Claudio Novais
Editor do Ubuntued
 
Mensagens: 16869
Registrado em: 25 Maio, 2011

Voltar para Scripts, programação e aplicações em desenvolvimento

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes

cron