Skip to content

Instantly share code, notes, and snippets.

View gustavofonseca's full-sized avatar

Gustavo Fonseca gustavofonseca

  • São Paulo, Brazil
View GitHub Profile
@gustavofonseca
gustavofonseca / json-dumps.py
Last active July 1, 2022 14:59
Função que codifica objetos Python em JSON fazendo com que objetos float sejam codificados com precisão de 2 casas decimais
def dumps(obj):
result = []
for part in json.JSONEncoder().iterencode(obj):
try:
tmp = round(float(part), 2)
except ValueError:
pass
else:
if "." in part:
part = '{:.2f}'.format(tmp)
# reference: https://hub.docker.com/_/ubuntu/
FROM python:3.8-slim-buster
# Adds metadata to the image as a key value pair example LABEL version="1.0"
LABEL maintainer="Rafael Novello <rafa.reis.novello@gmail.com>"
# Set environment variables
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
@gustavofonseca
gustavofonseca / detector.py
Created July 13, 2016 13:54
Exemplo de decodificação de sequências de bytes com base em detecção automática.
"""
Uso:
with open('amostra.txt') as amostra:
decode = make_decoder(amostra)
with open('amostra.txt') as dados:
for linha in dados:
print decode(linha)
"""
@gustavofonseca
gustavofonseca / elemento-app.rst
Created June 29, 2016 19:58
Corrige o sumário de exemplos.

<app>

Aparece em:

elemento-back

Atributos obrigatórios:

@gustavofonseca
gustavofonseca / fabfile.py
Created April 7, 2016 14:16
Fabfile com funções para backup e restore de BD Postgres
# coding: utf-8
import os
import sys
import tempfile
import multiprocessing
from datetime import datetime
from fabric.api import *
@gustavofonseca
gustavofonseca / desmembrador.py
Created February 16, 2016 16:09
Script para o desmembramento do arquivo ``tagset.rst`` em diversos outros arquivos ``.rst``.
#!/usr/bin/env python3
# coding: utf-8
"""
Script para o desmembramento do arquivo ``tagset.rst`` em diversos outros
arquivos ``.rst``. O critério para o desmembramento será o marcador de seção
descrito pela regex ``^\.\. _(?P<secname>[a-zA-Z0-9_-]+):$``
"""
import re
import itertools
import hashlib
def checksum_file(filepath, algorithm=hashlib.md5):
"""
Calcula o ``checksum`` de um arquivo em disco.
:param filepath: caminho no sistema de arquivos.
:param algorithm: (opcional) o padrão é ``hashlib.md5``.
"""
with open(filepath, 'rb') as fp:
@gustavofonseca
gustavofonseca / coletor.py
Created November 30, 2015 13:17
Exemplo de script para coletar XMLs do articlemeta
#!/usr/bin/env python3
"""Script para exemplificar o uso do articlemeta.scielo.org
para coletar XMLs dos artigos da rede SciELO. Novamente, isso é
apenas um EXEMPLO!
"""
import json
from urllib import request
ISSNs = [
import sys
import os
import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import xml.etree.ElementTree as etree
@gustavofonseca
gustavofonseca / idéias affs.rst
Last active August 29, 2015 14:24
Idéias sobre affs

Se entendi corretamente, o problema é o seguinte: Um determinado contribuidor pode, no momento da elaboração do documento, estar afiliado a uma ou mais instituições, e todas devem ser devidamente identificadas com um determinado nível de detalhe. Além disso, o crédito (estou chamando de crédito a frase formatada em que aparece a afiliação no PDF ou versão impressa) deve ser preservado e vinculado com o contribuidor.

#1 - Usar aff-alternatives (logo eu percebi que é uma má idéia.. pois alternativas devem ser equivalentes, e não é o caso):

<contrib-group>
  <contrib contrib-type="author">
    <name>
      <surname>Soares</surname>
      <given-names>Ana Cristina Fontenele</given-names>
    </name>