Skip to content

Instantly share code, notes, and snippets.

View sxslex's full-sized avatar

Alexandre Villela - SleX sxslex

View GitHub Profile
@sxslex
sxslex / partition.py
Created May 25, 2017 17:24
Elegant Python code for Integer Partitioning
# -*- coding: utf-8 -*-
import timeit
ncache = 0
cache = {}
def partition(number):
global cache, ncache
answer = {(number,), }
@sxslex
sxslex / troco.py
Last active January 29, 2018 16:46
Troco
# -*- coding: utf-8 -*-
def notas_total(valor):
notas = [100, 50, 20, 10, 5, 2, 1]
totais = []
for idx, nota in enumerate(notas):
totais.append(0)
if valor > nota:
totais[idx] = int(valor / nota)
valor -= totais[idx] * nota
@sxslex
sxslex / decompor_decimal.py
Last active May 24, 2017 20:35
Decompoe um numero em sua representação decimal
# -*- coding: utf-8 -*-
def decompor_decimal(num):
"""Decompoe um numero em sua representação decimal. """
l = len(str(num))
return ' + '.join([i.ljust(l - b, '0') for b, i in enumerate(str(num))])
print(decompor_decimal(32477))
@sxslex
sxslex / client.py
Created May 8, 2017 18:20
custom client.py for redis
from __future__ import with_statement
from itertools import chain
import datetime
import sys
import warnings
import time
import logging
import threading
import time as mod_time
from redis._compat import (b, basestring, bytes, imap, iteritems, iterkeys,
@sxslex
sxslex / semaphore.py
Last active May 8, 2017 18:16
Implementa semaphoro para controle de blocos atômicos em arquivo.
# -*- coding: utf-8 -*-
"""Implements semaphoro to control atomic blocks on file."""
# by [email protected]
import os
import sys
import uuid
import time
import signal
@sxslex
sxslex / pagination_json_get.py
Created May 4, 2017 15:26
Busca os dados de um JSON paginando
import requests
def busca_noticias(url, limit=10, debug=False):
offset = 0
while True:
urlget = url.format(limit=limit, offset=offset)
if debug:
print('#### GET: ' + urlget)
resp = requests.get(urlget).json()
for noticia in resp['ok']['noticias']:
@sxslex
sxslex / template_jijja2.py
Last active August 2, 2019 02:36
exemplo jinja2 tojson
def template(html, **params):
import jinja2
env = jinja2.Environment(loader=FileSystemLoader(''))
def tojson(s):
import json
return json.dumps(s)
env.filters['tojson'] = tojson
# -*- coding: utf-8 -*-
"""Fecha todas as janelas pelo nome."""
from gi.repository import Gtk, Wnck
import os
Gtk.init([])
screen = Wnck.Screen.get_default()
screen.force_update()
# -*- coding: utf-8 -*-
"""Renomeia pastas de acordo com uma tag de um arquivo dentro da pasta."""
# renomeia_pastas.py
import unicodedata
import glob
import os
def remove_accents(s):
"""Remove acentos de uma string."""
@sxslex
sxslex / da_urllib.py
Last active September 7, 2016 16:22
Decodifica um url em partes
# -*- coding: utf-8 -*-
# da_urllib.py
# by [email protected]
import urllib
def urldencode(params):
resp = {}
for item in params.split('&'):
if not item: