Skip to content

Instantly share code, notes, and snippets.

View vbmendes's full-sized avatar

Vinícius Mendes vbmendes

View GitHub Profile
@vbmendes
vbmendes / lnsp
Created June 4, 2011 15:28
Create symbolic links to my folders in site-packages
#!/bin/bash
# ======================================================================
#
# Function: lnsp
# Creates a symbolic link to a folder inside current site-packages. If
# the file already exists, ask for override.
# Works ok with virtualenv.
#
# Parameters:
@vbmendes
vbmendes / pdbdebug.py
Created July 13, 2011 18:15
Django template debug
# -*- coding: utf8 -*-
"""
Template tag to stop template rendering to debug.
It's useful to know what is in the context.
Just put this file in a templatetags module inside your app and
insert this code in your templates where you want to debug:
{% load pdbdebug %}{% pdbdebug %}
"""
@vbmendes
vbmendes / USAGE.py
Created August 8, 2011 21:48
Django Manager to improve querysets usage
from django.db import models
from query import QuerySet
class CustomQuerySet(QuerySet):
def published(self):
return self.filter(published=True)
class Content(models.Model):
@vbmendes
vbmendes / truncate.py
Created August 24, 2011 18:03
truncate templatetag
from django.utils.safestring import SafeData, mark_safe
from django.template import TemplateSyntaxError
@register.filter
def truncate(value, arg):
"""
Truncates a string after a given number of chars
Argument: Number of chars to truncate after
"""
mark_safe_if_safe = lambda v: mark_safe(v) if isinstance(value, SafeData) else v
@vbmendes
vbmendes / group_users_form.py
Created February 1, 2012 02:19 — forked from rafaelnovello/group_users_form.py
Select users to the group in group form on Django Admin.
# -*- coding: utf-8 -*-
from django.forms import ModelForm
from django import forms
from django.contrib.auth.models import Group, User
class GroupAdminForm(ModelForm):
class Meta:
model = Group
group_users = forms.ModelMultipleChoiceField(label=u'Usuários deste Grupo', queryset=User.objects.all())
@vbmendes
vbmendes / cached_property.py
Created February 13, 2012 04:07
cached_property decorator
from functools import wraps
def cached_property(fn):
@wraps(fn)
def wrapper(self):
cache_var = '_%s' % fn.__name__
if not hasattr(self, cache_var):
setattr(self, cache_var, fn(self))
return getattr(self, cache_var)
return property(wrapper)
@vbmendes
vbmendes / example.py
Created March 9, 2012 17:24
Exemplo de uso de yield e __iter__
def fib(quantidade):
a, b = 0, 1
for i in xrange(quantidade):
yield b
a, b = b, a + b
class Fib(object):
def __init__(self, quantidade):
@vbmendes
vbmendes / test_hash.py
Created March 11, 2012 03:38 — forked from rafaelcaricio/.gitignore
test_hash.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
cars = json.loads(open('./fixtures/fipe_carro.json').read())
tree = {}
for v in cars:
for name in v['translated_names']:
@vbmendes
vbmendes / sublpymodule.py
Created April 3, 2013 17:42
Script to open source code of python modules in sublime. Useful to see your dependencies source code.
#!/usr/bin/env python
# coding: utf8
import imp
import sys, os
module_name = sys.argv[1]
bits = module_name.split('.')
name = imp.find_module(bits[0])[1]
if len(bits) > 1:
@vbmendes
vbmendes / NotNullSafe.java
Last active April 15, 2021 19:00
Joining strings in Java 8 with null safety
return this.getStringA() + " - " + this.getStringB();