Skip to content

Instantly share code, notes, and snippets.

View mrchilds's full-sized avatar

Wesley Childs mrchilds

View GitHub Profile
@mrchilds
mrchilds / gist:8733191
Last active August 29, 2015 13:55
Unit Test Helpers - Mock logging
# Mock logging
# File - someclass.py
class SomeClass(object):
def method_man(self):
logging.basicConfig(filename='/tmp/somelog.log',
level=logging.INFO,
format='%(asctime)s | %(message)s',
datefmt='%m/%d/%Y %I:%M:%S')
@mrchilds
mrchilds / gist:9099373
Last active August 29, 2015 13:56
Who has a crontab...
cat /etc/passwd | awk -F: '{print "crontab -u "$1" -l"}' |s
@mrchilds
mrchilds / gist:9132599
Created February 21, 2014 11:14
Custom fabric decorators
# To use a custom decoractor with fabric
# the decorator needs @wraps(func) otherwise
from functools import wraps
def lock_hubot_aws_changes_when_running(func):
@wraps(func)
def wrapper(*args, **kwargs):
print 'do something'
result = func(*args, **kwargs)
print 'do something'
@mrchilds
mrchilds / gist:9178139
Created February 23, 2014 22:15
Machine Setup...
#Bash
alias pwgen='env LC_CTYPE=C tr -dc "a-zA-Z0-9-_" < /dev/urandom | head -c 15'
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\[$(tput bold)\]\[$(tput setaf 5)\]⌘ \[$(tput setaf 6)\]\w\[$(tput setaf 3)\]\$(parse_git_branch) \[$(tput sgr0)\]"
# Git config...
@mrchilds
mrchilds / gist:9230933
Created February 26, 2014 14:57
Vagrant - Build on base box
# Package up new box
vagrant package --base /Users/<USER>/VirtualBox VMs/<VM-NAME> --output mybox.box
vagrant box add foobar mybox.box
@mrchilds
mrchilds / gist:1729289
Created February 3, 2012 09:30
Strip all HTML from string using BeautifulSoup
from BeautifulSoup import BeautifulSoup
body = "<p>Dear Everyone,</p><p>This is a test</p><h1>Test Complete</h1>"
plain_text = ' '.join(BeautifulSoup(body).findAll(text=True))
@mrchilds
mrchilds / gist:2020824
Created March 12, 2012 09:09
MAMP - MySQL server has gone away query
MAMP:
/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot < ~/Downloads/DUMP
@mrchilds
mrchilds / gist:2399003
Created April 16, 2012 13:59
Python and Money
Work out total and then round up to 2 decimal places WITHOUT dropping the final zero....
from decimal import *
cost = "12.56896"
cost = Decimal(cost).quantize(Decimal('.01'), rounding=ROUND_UP)
@mrchilds
mrchilds / gist:3061165
Created July 6, 2012 16:25
Django - basic ajax
from django.http import HttpResponse
from django.template.loader import render_to_string
from django.utils import simplejson
def myajax(request):
#Some logic
html = render_to_string(TEMPLATE, context)
return HttpResponse(simplejson.dumps({"html": html}),
content_type="application/json; charset=utf-8")
@mrchilds
mrchilds / gist:3121438
Created July 16, 2012 07:58
Django South - Quick Help
# Convert Existing App
$ python manage.py convert_to_south APP_NAME --settings settings_debug
# Perform model change on development
$ python manage.py schemamigration APP_NAME --auto --settings settings_debug
$ python manage.py migrate APP_NAME --settings settings_debug.py
# Perform change on live server (assumes migration was applied and checked in on development)