All work and no play makes Jack a dull boy

quarta-feira, 24 de fevereiro de 2016

qual número do dia do ano

E se você quiser saber, no ano em que estamos, qual o número do dia.

from datetime import datetime
dia_do_ano = datetime.now().timetuple().tm_yday

bacana, ne?

terça-feira, 23 de fevereiro de 2016

docker: deletar container com status exited

Fica aqui a dica simples para você ter como alias no seu bash.

docker rm -v `docker ps -a -q -f status=exited`

Esse comando apagar container que esteja quieto ( "-q") e com status "exited".

Muito últil, por exemplo, em casos que você esteja com pouco espaço disponível.

=]

terça-feira, 29 de dezembro de 2015

listar todas as urls do seu projeto Django

Não pense em um porquê, mas imagine que um dia você precisa listar todas as urls de seu projeto Django, com caminho completo e parâmetros de forma organizada.

Como você faria?

Há algumas formas de escrever isso, mas o django-extensions tem algo pronto.

$ ./manage.py show_urls

pronto.
sim, só isso!

=]

terça-feira, 20 de outubro de 2015

deletar arquivos no terminal por intervalo de datas

Para deletar arquivos filtrando por um período de datas específico, usar o find é a saída:
find ./ -type f -newermt 2015-01-01 ! -newermt 2015-08-01 -delete

O find possui o parâmetro -delete tornando mais simples esse tipo de operação.

=]

terça-feira, 29 de setembro de 2015

encurtando urls no google usando python

É bom avisar logo que é bem tranquilo de fazer.



Antes de começar, é preciso que você crie um chave da API no console do google developers. As instruções você encontra aqui.

Bem, esse é o código.

import requests
import json

api_url = 'https://www.googleapis.com/urlshortener/v1/url'
api_key = 'AIzaSyD-wgUbjlaBOORxF0mrXzeNsOOafKrnw0U'
url = '{0}?key={1}'.format(api_url, api_key)

headers = {'content-type': 'application/json'}
params = json.dumps({'longUrl': 'http://www.google.com'})

response = requests.post(url, data=params, headers=headers)

if response.ok:
print (response.json()['id'])
else:
print (response.status_code, response.reason)


Algumas notas:
- não esquecer de passar no header o content-type
- o pacote requests só da alegria
- no requests.post() não passar os parâmetros usando 'params', a chave correta é 'data' (não que você vá esquecer ou confundir, mas como eu fiz, não custa avisar).

=]