Skip to content

Instantly share code, notes, and snippets.

@winhamwr
winhamwr / gist:205450
Created Oct 8, 2009
Celery /etc/init.d script to keep celeryd running
View gist:205450
#!/bin/sh
USER=%(user)s
NAME=celeryd
VIRTUALENV=%(virtualenv_dir)s
PROJECT_ROOT=%(project_root)s
DAEMON=$VIRTUALENV/bin/celeryd
PIDFILE=$PROJECT_ROOT/$NAME.pid
LOGFILE=$PROJECT_ROOT/$NAME.log
@winhamwr
winhamwr / hudson fabric deploy bash script
Created Jan 5, 2010
bash script for use by a hudson job to deploy a project via fabric
View hudson fabric deploy bash script
#!/bin/bash
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
PARENT_JOB=pstat_master_unittest
KEY_PATH=$HOME/policystat/fabric/pstat_dev.key
if [ ! -z "$WORKSPACE" ]; then
WORKSPACE=/vol/fs/var/lib/hudson/home/jobs/pstat_master_deploy/workspace
fi
@winhamwr
winhamwr / hudson virtualenv creation
Created Feb 4, 2010
hudson virtualenv creation
View hudson virtualenv creation
#!/bin/bash
# Hosted at: http://gist.github.com/294861
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
# Job we're using for deploying the virtualenv
PARENT_JOB=pstat_master_unittest
KEY_PATH=$HOME/policystat/fabric/pstat_dev.key
@winhamwr
winhamwr / gist:309449
Created Feb 20, 2010
fabric stub for getting selenium 2 python bindings to install
View gist:309449
def _install_webdriver(venv_path):
"""
Install/build the python webdriver client. The setup.py is busted, so we have
to do extra work beyond the virtualenv.
See: http://groups.google.com/group/webdriver/browse_thread/thread/f5c3484ab5ae5800/fdae02fa223d00b0
"""
webdriver_dir = os.path.join(venv_path, 'src', 'webdriver')
py_bin = os.path.join(venv_path, 'bin', 'python')
with cd(webdriver_dir):
@winhamwr
winhamwr / hacked setup.py for selenium2
Created Feb 21, 2010
working-ish setup.py for development
View hacked setup.py for selenium2
#!/usr/bin/env python
# Copyright 2008-2009 WebDriver committers
# Copyright 2008-2009 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
@winhamwr
winhamwr / virtualenv.txt
Created Feb 24, 2010 — forked from hugs/virtualenv.txt
Now with virtualenvwrapper goodness
View virtualenv.txt
# Install virtualenv
sudo pip install virtualenv
# Install virtualenvwrapper
sudo pip install virtualenvwrapper
# Configure virtualenvwrapper
echo "export WORKON_HOME=$HOME/.virtualenvs" | tee -a ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper_bashrc" | tee -a ~/.bashrc
source ~/.bashrc
View hudson fabric deploy bash script
#!/bin/bash
#http://gist.github.com/gists/315136
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
PARENT_JOB=pstat_master_unittest
KEY_PATH=$HOME/policystat/fabric/pstat_dev.key
PROJECT_ROOT=/var/www/pstattest.com/
DB_NAME=pstattest
@winhamwr
winhamwr / Script for creating a personal package repository in ubuntu
Created Feb 26, 2010
Script for creating a personal package repository in ubuntu
View Script for creating a personal package repository in ubuntu
#!/usr/bin/env python
import optparse, subprocess, logging, os, sys, shutil
APT_COMMAND = 'apt-get -o Dpkg::Options::="--force-confnew" -y --force-yes -qq install %s'
def apt_install(app):
logging.info("Calling: %s" % (APT_COMMAND % app))
subprocess.call(APT_COMMAND % app, shell=True)
@winhamwr
winhamwr / celery task using wait()
Created Mar 12, 2010
celery task using wait()
View celery task using wait()
def build_document_pdf(document, realtime=False, timeout=None, watermark=True):
"""
Builds and caches a PDF copy of this document.
If ``realtime`` is True, returns the URL to the PDF. Otherwise, the PDF is
generated as asynchronously in the background.
"""
if not timeout:
timeout = print_settings.PRINTING_TIMEOUT
pdf_generator = DocumentPdfGenerator()
View tasks.py
class BackupArchiveGenerator(Task):
def get_archive_name(self, tenant, date, archive):
"""
Build and return the archive name based on the requested archive.
"""
filename = '%s_to_%s' % (date.strftime('%Y_%m_%d'), datetime.datetime.today().strftime('%Y_%m_%d'))
if archive:
filename = "%s_archive" % filename
destination = os.path.join(tenant.subdomain, '%s.zip' % filename)