Categorias
Ferramentas Internet procedimentos Programação Programação tecnologia

Scrapy

Um framework para web crawling em python.

Referencias

Categorias
Ambientes Aplicativos Linux troubleshooting

Google App Engine

Tinha uma instalação de Django no Google App Engine do Google Cloud Plataform, mas com a descontinuação do Python 2.5, o ambiente se tornou indisponivel.

Algum dia retornarei a este ambiente.

  1. prejudicado para os casos que usar Banco de Dados. Eles querem cobrar os recursos de bancos de dados. Será que dá para usar como recurso estático??

Referencias

  1. Why Google – entender o serviço e ambiente para ver como usá-lo.
  2. Running Django on App Engine Standard Environment
  3. CLOUD SDK
Categorias
Casos

Ordenar tabela com PinYin em ordem natural.

PythonO Chinês é uma lingua muito peculiar. Uma língua monosilábica, tonal (alteração de tons na pronúnica da silaba diferencia o signicado das palavras). Para representar os sons das palavras chinesas padronizou-se o uso do PinYin (transliteração oficial) representando os 4 tons através de sinais diacriticos sobre as vogais. Veja um pequeno exemplo :

A mesma silaba "Ma" apresentada nos diversos tons, apresenta significados bem distintos.

Neste momento, eu me defronto com o problema de ordenar um glossário (planilha) de tres colunas : Ideograma, PinYin, e significado. Para facilitar aa consulta de um tal Glossário, digamos com mil expressões, gostaríamos de ordenar em ordem alfabética da coluna PinYin. Está é uma ordem natural uma vez que as letras A com ou sem os sinais diacriticos estão na ordem numérica convencionada para os tons. Mas, quando ordenamos pela coluna PinYin (B), numa planilha (Calc do LibreOffice, ou Excel do Office Microsoft) obtemos :

Isso porque as vogais com diacriticos foram dispostos na tabela de caracteres em espaços disponíveis não de considerando este nosso possivel interesse.

Esperar que a tabela de condificação dos caracteres diacríticos seja revista para contemplar a ordem natural das palavras chinesas parece estar fora de questão. Vamos a uma solução local e particular.

Criaremos uma coluna adicional, somente para a classificação em ordem natural das palavras chinesas aproveitando a estrutura atual de condificação dos caracteres com diacriticos.

Usaremos o recurso string.translate(str.maketrans(raw, coded)) do Python convertendo as vogar "āáǎàaēéěèeīíǐìiōóǒòoǖǘǚǜüūúǔùu" para "aáàǎāeéèěēiíìǐīoóòǒōuúùǔüǘǜǚǖū" obtendo a coluna auxiliar para a classificação.
 

Como a ordenação do pinyin considera cada um dos tons de cada vogal diferentemente na ordenação, tivemos que subtituir cada vogal para a configuração vn onde v é a vogal sem o diacritico seguido pelo n do tom na sequencia desejada. Por exemplo, considerando o tom neutro como 5 para ficar depois dos 4 outros tons na ordenação. Alem disso, tomamos o cuidado de ordenar corretamente o u com o ü! Usamos a metodo s.replace dos strings do python para fazer as substuições.

Dado uma lista de expressões contendo palavras em PinYin tentarei ordenar em sua ordem natural. Esclarecendo, a ordem dos caracteres diacriticos não é natural.

Referências:

  • http://gomputor.wordpress.com/2008/09/27/search-replace-multiple-words-or-characters-with-python/ – aqui uma forma de substituição de caracteres.
  • str.translate(table[, deletechars]) – parece ser mais adequado para o nosso caso.
Categorias
geral

macros OpenOffice em Python….

PythonOpenOffice

Bom…. sempre ouvimos falar sobre macros OpenOffice escritas em Python… Estas são as minhas notas sobre o assunto

Referências:

  • http://wiki.services.openoffice.org/wiki/Python_as_a_macro_language – tudo o que você poderia querer saber, "da boca do próprio cavalo"!
Categorias
Programação

Expressões Regulares… RegEx

regex
regex

Isso sempre parece mesmo obra do demonio!!! Mas, o fato é que sempre podemos aprender um pouco mais sobre as expressões regulares e conseguir bons resultados com eles.
Referências: