Skip to content

Instantly share code, notes, and snippets.

View BradWhittington's full-sized avatar

Brad Whittington BradWhittington

View GitHub Profile
@BradWhittington
BradWhittington / generate_rabbitmq_config.py
Created September 13, 2016 20:10
Generate stackdriver/collectd config file for all queues on localhost
#!/usr/bin/python
# Usage: curl http://guest:guest@localhost:15672/api/queues | ./generate_config.py > /opt/stackdriver/collectd/etc/collectd.d/rabbitmq.conf
import sys, json;
queues = json.load(sys.stdin)
output = """
# This is the monitoring configuration for RabbitMQ.
@BradWhittington
BradWhittington / _form.html
Last active December 18, 2015 22:49
Form skillz for django
{% csrf_token %}
{% if form.non_field_errors %}<div class="non_field_errors">{{form.non_field_errors}}</div>{%endif %}
{% for field in form.visible_fields %}
{% load klass %}
<div class="field_wrapper field_{{field.name}} input_{{field.field.widget|klass}} {% if field.errors %}has_errors{% endif %}">
{% if field.field.widget|klass == 'CheckboxInput' %}
{{ field }}
{{ field.label_tag }}
{% else %}
{{ field.label_tag }}
@BradWhittington
BradWhittington / plugin_module.py
Created January 12, 2012 10:17
Plugin pattern for python classes
plugins = {}
def get_input_plugins():
return plugins['input'].items()
class Plugin(object):
plugin_class = None
@classmethod
def register(cls, name):
plugins[cls.plugin_class][name] = cls
@BradWhittington
BradWhittington / orderdmixedqueryset.py
Created April 6, 2011 17:03
Class which takes multiple django querysets and returns an optionally sorted, merged version
Usage is:
OrderedMixedQuerysets('-date',MyModel.objects.all(),MyOtherModel.objects.all())
@BradWhittington
BradWhittington / s3_multipart.py
Created March 16, 2011 17:55
Buffered, file-like class to wrap amazon S3 / boto multipart upload
from StringIO import StringIO
import boto.s3
from django.conf import settings
class MultiPartUploader:
counter = 0
def __init__(self, bucket_name, key_name, buf_size=32768):
self.connection = boto.connect_s3(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
self.bucket = self.connection.get_bucket(bucket_name)