Skip to content

Instantly share code, notes, and snippets.

View coordt's full-sized avatar

Corey Oordt coordt

View GitHub Profile
@coordt
coordt / gist:177202
Created August 28, 2009 20:19
Create an iPhone-like button using python and cairo
#!/usr/bin/env python
"""
Create a button
"""
import sys, cairo, cairo_helpers
def roundedrec(context,x,y,w,h,r = 10):
"Draw a rounded rectangle"
@coordt
coordt / fabfile.py
Created December 1, 2010 12:51
A Fabric fabfile that allows you to check which packages are not like the others on a set of servers.
from __future__ import with_statement
from fabric.api import env, run, settings, hide
from fabric.decorators import hosts, runs_once
venv = "/home/websites/.virtualenvs/twtv3/"
env.user = 'webdev'
env.hosts = [
'192.168.1.10',
'192.168.1.11',
@coordt
coordt / check_for_updates.py
Created April 8, 2011 18:39
Check locally installed packages against one or more package indexes for updates and list them.
#!/usr/bin/env python
"""
Use pip to get a list of local packages to check against one or more package
indexes for updated versions.
"""
import pip
import sys, xmlrpclib
from cStringIO import StringIO
from distutils.version import StrictVersion, LooseVersion
@coordt
coordt / package_versions.py
Created April 29, 2011 18:48
A fabric fabfile that checks versions across multiple servers and indexes
from __future__ import with_statement
from fabric.api import env, run, settings, hide
from fabric.decorators import hosts, runs_once
env.venv_path = "/home/webdev/.virtualenvs/twtv3/"
env.user = 'webdev'
env.hosts = [
'172.16.12.27',
# '172.16.12.33',
'172.16.12.48',
@coordt
coordt / check_versions.py
Created July 5, 2011 23:38
Show local, remote and current versions of installed packages using Fabric
from __future__ import with_statement
from fabric.api import env, run, settings, hide, local
from fabric.decorators import hosts, runs_once
import os
import pip
import sys, xmlrpclib
from cStringIO import StringIO
from distutils.version import StrictVersion, LooseVersion
def _find_current_version(package, index_urls=None):
@coordt
coordt / mkvoot.py
Created October 19, 2011 13:47
Vootstrap Maker
#!/usr/bin/env python
import textwrap, virtualenv
def adjust_options(options):
voot_opts = {
'no_site_packages': not options.use_site_packages,
'unzip_setuptools': not options.zip_setuptools,
'use_distribute': not options.setuptools,
}
@coordt
coordt / fields.py
Created March 5, 2012 16:08
Django MultiSelectField
"""
A model field and widget that allows selecting multiple items from a static
list of choices. Based on http://djangosnippets.org/snippets/1200/
"""
from django.db import models
from django.core import exceptions
from django import forms
from django.utils.text import capfirst
class MultiSelectFormField(forms.MultipleChoiceField):
@coordt
coordt / wsgi.py
Created May 10, 2012 13:40
A WSGI file for an application with an example project for testing on a server
"""
Default template for WSGI definition. Assumes virtualenv is in the same
directory as this file, and is called virtualenv
"""
import os, sys, site
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__)))
site.addsitedir('virtualenv/lib/python2.6/site-packages')
@coordt
coordt / apache2-template.conf
Created May 10, 2012 13:41
Apache template for an application test
<VirtualHost *:80>
ServerAdmin test@test.com
ServerName $$$$PROJECT_NAME$$$$
ServerAlias media-$$$$PROJECT_NAME$$$$
ServerAlias $$$$PROJECT_NAME$$$$.test.education.nationalgeographic.com
DocumentRoot $$$$PROJECT_HOME$$$$$$$$PROJECT_NAME$$$$/media
WSGIDaemonProcess $$$$PROJECT_NAME$$$$ user=webdev group=webdev \
processes=3 threads=1 maximum-requests=1000 \
python-path=$$$$PROJECT_HOME$$$$$$$$PROJECT_NAME$$$$/example/virtualenv/lib/python2.6/site-packages
@coordt
coordt / bootstrap.py
Created May 10, 2012 13:54
Basic virtualenv bootstrap.py script
#!/usr/bin/env python
## WARNING: This file is generated
#!/usr/bin/env python
"""Create a "virtual" Python installation
"""
# If you change the version here, change it in setup.py
# and docs/conf.py as well.
virtualenv_version = "1.6.3"