Skip to content

Instantly share code, notes, and snippets.

View jaddison's full-sized avatar

James Addison jaddison

View GitHub Profile
@jaddison
jaddison / gist:4506070
Last active January 30, 2024 09:26
Setting up gunicorn and celery with gevent, psycogreen for Django
# gunicorn.conf.py: getting gevent and psycogreen running
bind = '127.0.0.1:1437'
accesslog = "<some-path>/logs/gunicorn-access.log"
errorlog = "<some-path>/logs/gunicorn-error.log"
workers = 5
try:
# fail 'successfully' if either of these modules aren't installed
from gevent import monkey
from psycogreen.gevent import patch_psycopg
@jaddison
jaddison / branching-strategy.md
Last active January 20, 2020 17:29
Defining a git branching strategy that works well with CI/CD

Current State

We have something like this set up at the moment; 2 repos (aws and github):

  • master (aws)
  • next (aws)
  • integation (aws)
  • master (gh)
  • next (gh)
  • integration (gh)
@jaddison
jaddison / suprnova_check.sh
Created January 10, 2018 03:59
Suprnova JSON API hash/share rate & balance script
#!/bin/bash
if [[ ! -v SUPRNOVA_KEY ]]
then
echo -e "SUPRNOVA_KEY environment variable isn't set.\n\nThis should be the API key from your Suprnova account."
exit 1
fi
if [[ ! -v SUPRNOVA_TARGET ]]
then
echo -e "SUPRNOVA_TARGET environment variable isn't set.\n\nThis should be 'zcl' if you are connecting to 'zcl.suprnova.cc'"
@jaddison
jaddison / settings_singleton_model_example.py
Created October 22, 2018 23:34
settings_singleton_model_example
# models.py
# the dev adds new fields to this as the client asks for more features
class ClientSettings(models.Model):
base_labour_rate = models.FloatField(...)
# middleware.py
class ClientSettingsMiddleware(object):
_settings = None
0x9F7863A61e3A9E4746A650D02CbBE8F1b857f09d
0x561E9A2d7cC2FfB8DcB098faD6d221d40dec509c
@jaddison
jaddison / gist:4485991
Created January 8, 2013 17:46
django-simple-templates example assignment tag for use in simple page templates.
from django import template
from users.forms import EmailSignupForm
register = template.Library()
@register.assignment_tag
def get_signup_form():
return EmailSignupForm()
@jaddison
jaddison / gist:4486038
Last active December 10, 2015 20:08
django-simple-templates example of using a custom assignment tag to get a signup form working in any simple template.
{% extends "base.html" %}
{% load user_tags %}
{% block head-gace-js %}
// paste your Google Analytics Content Experiment JS code here if you're running an experiment.
{% endblock %}
{% block content %}
<h2>Awesome webpage content for businesses.</h2>
{% get_signup_form as signup_form %}
@jaddison
jaddison / gist:4485879
Created January 8, 2013 17:32
django-simple-templates GACE template example.
{% extends "base.html" %}
{% block head-gace-js %}
// paste your Google Analytics Content Experiment JS code here if you're running an experiment.
{% endblock %}
{% block content %}
<h2>Awesome webpage content for businesses.</h2>
{% endblock %}
@jaddison
jaddison / gist:4485805
Last active December 10, 2015 20:08
django-simple-templates base.html example
{% load spurl %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
{# the `head-gace-js` block is what you would override in your original template to enable a Google Analytics Content Experiment #}
{% block head-gace-js %}{% endblock %}
{# by placing this canonical link in your base.html <head> section, all A/B template pages benefit - no duplicate content penalties #}