Usando um CLI para blogger (instalando Python no Mac OS X)
Autor: Francisco H C Felix | Publicado: 2016-09-03T12:36:00-03:00

Esta postagem está sendo escrita em Markdown usando Vim e Atom e será interpretada para HTML com pandoc, para depois ser postada com crankyblogger, um CLI para blogger.com escrito em Python.
Ele é muito simples e capaz basicamente apenas de criar novas postagens no blogger. Desde que se tenha uma conta nele, claro. Para usá-lo, eu tive que instalar algumas
dependências. Estes são os pacotes que crankyblogger.py chama ao inicializar:
import json, webbrowser, getopt, os.path, sys
import httplib2
from oauth2client import client
from apiclient.discovery import build
from oauth2client.file import Storage
Meu sistema é Mac OS X 10.11.6 El Capitan. A versão de Python que vem embarcada é 2.7.10, instalada no diretório /usr/bin/python. Por definição, o sistema protege as pastas /System /bin /sbin /usr contra edição, mesmo usando usuário root. A Apple chama isso de SIP - System Integrity Protection. Na verdade, é uma característica interessante do ponto de vista de organização. Usando o Homebrew é possível fazer instalações seguras e funcionais que ficarão localizadas na pasta /usr/local/bin, eliminando problemas de compatibilidade. Como eu não poderia instalar as dependências necessárias no Python nativo do OS X, tive que instalar a última versão estável do Python 2.7. Antes de fazer isso, é necessário instalar as ferramentas de desenvolvedor do Xcode (via Apple Store) e o Command Line Tools:
$ xcode-select --install
Depois, é só instalar o Homebrew, se já não estiver no sistema:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew
  /install/master/install)"
E, antes de instalar o Python, colocar a pasta de destino no $PATH:
export PATH=/usr/local/bin:$PATH
Esta linha pode ser acrescentada no ~/.bash_profile para maior comodidade.
Por fim, para instalar a nova versão do Python:
$ brew install python
Checando a versão e o local:
$ which python
/usr/local/bin/

$ python --version
Python 2.7.12
Usar o Homebrew para instalar outra versão de Python permite que a versão nativa conviva harmoniosamente com a nova. É possível até instalar o Python 3.X e usá-lo separadamente, sem interferir com as outras. As instruções de Marina Mele são esclarecedoras. A melhor forma de instalar dependências específicas no Python é usando um ambiente virtual, para assegurar separação e organização das diversas instâncias.
Para instalar virtualenv e virtualenvwrapper:
$ pip install virtualenv
$ pip install virtualenvwrapper
Em seguida, criar uma pasta que vai conter os ambientes virtuais.
$ mkdir ~/.virtualenvs
Abrir ou criar o arquivo ~/.bashrc e colocar:
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
Por fim, ativar estas mudanças:
$ source ~/.bashrc
Dessa forma, será possível criar um novo ambiente virtual:
$ mkvirtualenv myenviroment
Na pasta ~/.vitualenvs/myenvironment que será criada pelo script. O ambiente será automaticamente ativo. Trocar de ambiente é simples como:
$ workon myenvironment
E, para desativar os ambientes:
$ deactivate
Deletar e listar os ambientes:
$ rmvirtualenv &lt;nome_do_ambiente&gt;
$ lsvirtualenv
Finalmente, instalar pacotes à vontade será fácil apenas usando o comando pip install. Instalei as dependências do crankyblogger.py dessa forma e pude usá-lo.
$ pip install httplib2
$ pip install oauth2client
$ pip install --upgrade google-api-python-client
Seu uso também é muito simples, consistindo apenas numa ferramenta para publicar novas postagens em formato rascunho (padrão) ou publicação final. Igualmente, pode-se configurar o título e marcadores para a postagem. A publicação é realmente simples com o uso desta ferramenta bem básica. Sua documentação traz uma explicação sumária, porém suficiente para usá-lo. Para minha comodidade, mudei o nome do executável para bloggercli e copiei-o para a pasta /usr/local/bin. Dessa forma, posso usar o comando em qualquer local. Usei-o com um ambiente virtual:
$ workon myenvironment
$ bloggercli -f "newpost.html" -t "Usando um CLI para blogger 
  (instalando Python no Mac OS X)" -l "Mac OS X, Blogger, CLI, Python"
Para criar o arquivo em html, escrevi newpost.txt usando Markdown e usei o pandoc para convertê-lo:
$ pandoc -f markdown_strict -t html -o newpost.html newpost.txt
Este é meu primeiro teste.