Skip to content

Instantly share code, notes, and snippets.

@rvause
rvause / basetest.py
Created July 31, 2012 15:49
Base unittest for my Django projects
from cStringIO import StringIO
from django.utils import unittest
from django.core.files.uploadedfile import InMemoryUploadedFile
from django.test.client import Client
class BaseTest(unittest.TestCase):
def _delete_objects(self):
models = getattr(self, 'models', [])
@rvause
rvause / classbaseview.py
Created August 7, 2012 12:02
Class based views for Django? (or other Python framework)
from django.http import HttpResponse
from django.template.loaders.app_directories import app_template_dirs
from django.template import TemplateDoesNotExist, RequestContext
from django.core import urlresolvers
from django.conf import settings
from jinja2 import Environment, FileSystemLoader, TemplateNotFound
class View(object):
@rvause
rvause / batterywatch.py
Created August 22, 2012 16:50
Simple script to make my computer beep at me when its about to die without battery
#!/usr/bin/env python
import subprocess
import time
import shlex
import re
percent = 100
@rvause
rvause / swiss.py
Created August 23, 2012 16:31
My Swiss army knife (-like) Django manage command // Hopefully I will find a use for it
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **options):
if len(args) > 0:
for arg in args:
try:
globals()[arg]()
@rvause
rvause / decimals.py
Created September 20, 2012 10:28
Support for decimals where your target might be Python older than 2.7
import sys
from decimal import *
LT_27 = True if sys.version_info < (2, 7) else False
def f2d(f):
"""
Convert a floating point number to a Decimal with no loss of information
@rvause
rvause / models.py
Created December 17, 2012 09:42
User model for Django with an email/password login, no username
from django.db import models
from django.core.mail import send_mail
from django.contrib import auth
from django.contrib.auth.models import (
AbstractBaseUser,
BaseUserManager,
Group,
Permission,
_user_get_all_permissions,
_user_has_perm,
@rvause
rvause / random_address.py
Created January 3, 2013 15:15
Make random addresses to fill out data
# -*- coding: utf-8 -*-
import random
STREET_NAMES = [
'Steve',
'Thyme',
'Rigby',
'Chedder',
@rvause
rvause / beats.py
Last active December 12, 2015 01:29
Not working in all timezones, need to fix
from jingo import register
@register.filter
def beats(obj):
t = obj.timetuple()
bmt = (t.tm_hour * 3600) + (t.tm_min * 60) + t.tm_sec
return '%.0f' % (bmt / 86.375)
from django.db import models
from django.core.mail import send_mail
from django.contrib.auth.models import (
AbstractBaseUser,
BaseUserManager,
PermissionsMixin,
)
from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
@rvause
rvause / decorators.py
Last active December 16, 2015 07:19
as_json decorator for Django views
import json
from django.http import HttpResponse
def as_json(func):
def decorator(request, *ar, **kw):
output = func(request, *ar, **kw)
if not isinstance(output, dict):