All work and no play makes Jack a dull boy

quinta-feira, 30 de agosto de 2012

Como executar shortcodes dentro de custom fields


O padrão do Wordpress é não permitir que os shortcodes (aqueles [algumacoisa]) sejam executados de dentro dos custom fiels ou 'campos personalizados'. Se, por alguma razão, você precisar executar um shortcode dentro de um cutom field específico, eis uma forma fácil de fazê-lo:

<? echo apply_filters('the_content', get_post_meta($post->ID, 'your_custom_field_here', true)); ?

Simplesmente coloque esta linha onde quer que esteja exibindo o resultado do shortcode, e, óbvio, altere o 'seu_custom_field' pelo nome do seu custom field (não custa lembrar, ne)

quarta-feira, 29 de agosto de 2012

Linguagens mais populares - top20

Confira ai uma tabela com um ranking das linguagens mais populares de Agosto 2012.

Objective-C é top3, hein!


Fonte: Tiobe

segunda-feira, 27 de agosto de 2012

Failed to add documents to Solr: [Reason: ERROR:unknown field 'foo']

Uma rapidinha.

Pode ser que alguma dia na sua vida você, usando o Solr, encontrar o seguinte erro na hora de atualizar o index (update index):

$ ./manage.py update_index
Updating 10 indexes
Failed to add documents to Solr: [Reason: ERROR:unknown field 'foo']

Não se atemorize, irmão!

Passe por isso essa semana (em um contexto usando Django e o Solr rodando no tomcat6), mas para ficar rezgistrado para futuras googladas, segue:

sábado, 25 de agosto de 2012

mod_wsgi versão 3.4 liberada


Desde Julho de 2010 sem receber uma atualização, enfim foi liberada uma nova versão do mod_wsgi - a 3.4

A nova versão não mata anterior, tal como fez com a mod_python, mas além de cuidar de alguns bugs e de encaminhar questões de compatibilidade com Apache 2.4 e o Python 3.2 (presentes como default em algumas versões Linux), a nova versão do mod_wsgi puxa mudanças que só seriam vistas numa futura versão 4.0 do mod_wsgi.

Duas mudanças chave se destacam:

A adição da opção 'python-home' na diretiva WSGIDaemonProcess, permitindo especificar a pasta raiz do virtualenv Python. Agora isso fica mais óbvio não tendo mais que indicara opção 'python-path' onde, na verdade, apontava-se para o diretório 'site-packages' dentro do virtualenv .

A segunda é a inclusão das opções 'lang' e 'locale' para a diretiva WSGIDaemonProcess. Elas permitem que você faça o equivalente de definir as variáveis de ambiente 'LANG' e 'LC_ALL', o que era um pouco difícil para o Apache seja na hora de modificar o arquivo 'envvars' da instalação Apache, caso reconhecida, ou para modificar init scripts pro Apache.

Ambas não se aplicam quando usando o modo embedded.

O post completo do release, publicado neste sábado (25/08/2012), está em:

quinta-feira, 23 de agosto de 2012

Sublime Text, virtualenv, TDD e Django

Usar virtualenv e rodar os seus testes direto do Sublime com apenas um atalho do teclado? Sim, é possível. Yes we can! E nem é complicado.

Sublime Text tem sido meu editor desde o ano passado e cada vez mais mostra sua peraltice. Dá uma busca no github por Sublime e terá uma lista de 5.126 repositórios. Bacana, ne?

Let's cut the crap!

Vou deixar aqui como configurar no Mac OSx e no Windows 7 (usando a versão Home Basic) - adaptar para Linux é mole.

Para mim é auto-explicativo, ok?

Versão Windows 7:

segunda-feira, 20 de agosto de 2012

Trabalhando com a API do Youtube com python


Pegar dados do Youtube com Python é bem simples e você pode criar vários apps usando essa informação. Não é nada mais do que um request HTTP GET para uma URL grata. Depois disso basta pegar a resposta no formato JSON, tratá-la, e depois usá-la como qualquer outro dicionário Python.

# coding: utf-8
import requests
import json
resp = requests.get("http://gdata.youtube.com/feeds/api/standardfeeds/most_popular?v=2&alt=jsonc")
if(resp.status_code == 200):
    data = json.loads(resp.content)
    for item in data['data']['items']:
        print "Titulo: %s" % (item['title'])
        print "Categoria: %s" % (item['category'])
        print "ID: %s"% (item['id'])
        print "Rating: %f" % (item['rating'])
        print "Embed: %s" % (item['player']['default'])
else:
    print "There was a problem retrieving the data"

O resultado é algo mais o menos assim:

sábado, 18 de agosto de 2012

Ordering no Django 1.3

Buenas!

Hoje me deparei com duas situações: preisava ordernar um queryset com dois ou mais campos e ordenar no Admin do Django de forma diferente.

Vai pra lá, vem pra cá e cheguei na seguinte solução:

No modelo inclua o seguinte:
class Meta:
ordering = ('nome_do_campo', 'nome_do_outro_campo', )

Agora, dentro de seu admin.py faça:

sexta-feira, 17 de agosto de 2012

Criando alias dentro do prompt do Windows OU usando ls = dir

Buenas! Primeiro post, mas sem delongas vamos ao que interessa.

Hoje (olha eu datando o post...) eu acabei de sair de um curso que aconteceu num laboratório cheio de máquinas virtuais Windows.

Era um curso de Django. Foi o Welcome To Django do Henrique Bastos - excelente curso, por sinal.

Já dá pra imaginar o tempo que tomou para acertar o ambiente de desenvolvimento.

Você também está cansado de digitar 'ls' no prompt do windows e receber uma mensagem de erro como retorno?
Bem, vamos a uma ajuda para situações assim:

1 - Crie um atalho no desktop para o prompt - cmd.exe

2- Clique com o botão da direita no atalho. Mude o campo "Iniciar em:" para C:\SUA_PASTA\PREFERIDA

3- Crie um arquivo "define_alias.bat" em C:\SUA_PASTA\PREFERIDA - o arquivo deve conter o seguinte: