Skip to content

Instantly share code, notes, and snippets.

View fabiocerqueira's full-sized avatar

Fabio Cerqueira fabiocerqueira

View GitHub Profile
@fabiocerqueira
fabiocerqueira / db.py
Created March 19, 2014 19:52
Código de exercício da Acens sobre POO e metaclass
import pickle
import os
class ModelBase(type):
models = []
def __new__(cls, name, bases, attrs):
attrs.update({
@fabiocerqueira
fabiocerqueira / feliz.py
Created February 17, 2014 02:54
Dojo atualizado :D
def feliz(number, results=None):
if results is None:
results = []
next_number = sum(int(a) ** 2 for a in str(number))
if next_number in results:
return False
if next_number != 1:
@fabiocerqueira
fabiocerqueira / auth.py
Created February 17, 2014 00:26
Base para o exercício da Acens
#!/usr/bin/env python
#-*- coding: utf-8 -*-
from functools import wraps
from getpass import getpass
import sys
from db import Users
Logged = False
@fabiocerqueira
fabiocerqueira / debug_decorator.py
Created May 19, 2013 08:00
Brincando com decorators no Python 2, com e sem uso de partial
#!/usr/bin/env python
#-*- coding: utf-8 -*-
from functools import partial, wraps
def debug_old(prefix=''):
def debug(func):
@wraps(func)
def wrapper(*args, **kwargs):
print(prefix + func.__name__)
@fabiocerqueira
fabiocerqueira / Vagrantfile
Last active December 17, 2015 01:29
LAMP com Vagrant + Provy
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
config.vm.box = "precise32"
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
config.vm.network :hostonly, "33.33.33.33"
@fabiocerqueira
fabiocerqueira / example_descriptors.py
Created October 11, 2012 02:17
Exemplo de uso de descriptors em Python
class Field(object):
def __init__(self, default=None):
self.val = default
def __get__(self, obj, objtype):
if obj is None:
return self.__class__
else:
return self.val
from django.views.generic import ListView
from django.views.generic.edit import FormMixin
from django.db.models import Q
class SearchView(FormMixin, ListView):
template_name_suffix = '_search'
filter_operator = 'contains'
allow_or_operator = False
def get_filter_operator(self):
@fabiocerqueira
fabiocerqueira / mixins.py
Created September 24, 2012 15:09
Success Message Mixin
from django.core.exceptions import ImproperlyConfigured
from django.contrib import messages
class SuccessMessageMixin(object):
success_message = None
def get_success_message(self):
if self.success_message:
@fabiocerqueira
fabiocerqueira / urls.py
Created September 20, 2012 22:23
Custom Admin Site Django
from django.conf.urls import patterns, include, url
from django.views.decorators.cache import never_cache
from django.contrib import admin
# voce pode por isso em outra arquivo e importar aqui
class CustomAdminSite(admin.AdminSite):
@never_cache
def index(self, request, extra_context=None):
ret = super(CustomAdminSite, self).index(request, extra_context)
# SEU CODIGO AQUI
@fabiocerqueira
fabiocerqueira / form_template.html
Created September 20, 2012 20:50
Exemplo View com forms por parâmetro
{% extends 'base.html'%}
{% block content %}
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}