Skip to content

Instantly share code, notes, and snippets.

View robgolding's full-sized avatar

Rob Golding-Day robgolding

View GitHub Profile
import os
from fabric.api import env, require, run, sudo, cd
env.project_name = ''
env.server_name = ''
env.webapps_root = '/opt/webapps/'
env.project_root = os.path.join(env.webapps_root, env.project_name)
env.activate_script = os.path.join(env.project_root, 'env/bin/activate')
env.wsgi_file = os.path.join(env.project_root, 'django.wsgi')
@robgolding
robgolding / G52CFJ Makefile
Created March 15, 2011 20:26
A simple Makefile for the G52CFJ coursework
CXX = g++
CXXFLAGS = -g $$(sdl-config --cflags --libs) -lSDL_image -lSDL_ttf
SOURCES = \
BaseEngine.cpp \
BouncingBall.cpp \
BouncingBallMain.cpp \
DisplayableObject.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=game
@robgolding
robgolding / models.py
Created June 24, 2011 16:53
Custom Fields proposed implementation
from django.db import models
from django.contrib.contenttypes.models import ContentType
CUSTOMFIELD_TYPE_CHOICES = (
('bool', 'boolean'),
('char', 'text'),
('int', 'integer'),
('float', 'decimal'),
)
@robgolding
robgolding / login_required.py
Created July 11, 2012 19:25
Django Class-Based View Mixins: Part 1
class LoginRequiredMixin(object):
"""
View mixin which requires that the user is authenticated.
"""
@method_decorator(login_required)
def dispatch(self, request, *args, **kwargs):
return super(LoginRequiredMixin, self).dispatch(
self, request, *args, **kwargs)
@robgolding
robgolding / dog.sh
Created July 18, 2012 15:57
A simple watchdog script in Python
#!/usr/bin/env python
import os
import sys
import re
import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
ignore = (
@robgolding
robgolding / filtering.py
Created November 17, 2012 16:44
Django Class-Based View Mixins: Part 2
class FilterMixin(object):
"""
View mixin which provides filtering for ListView.
"""
filter_url_kwarg = 'filter'
default_filter_param = None
def get_default_filter_param(self):
if self.default_filter_param is None:
raise ImproperlyConfigured(

Keybase proof

I hereby claim:

  • I am robgolding63 on github.
  • I am robgolding (https://keybase.io/robgolding) on keybase.
  • I have a public key whose fingerprint is 521E AD24 5315 B7F9 0B10 8C40 847C 44D3 13A6 D5DA

To claim this, I am signing this object:

import signal
import time
def shutdown():
client.stop()
sys.exit(0)
signal.signal(signal.SIGINT, shutdown)
try:
@robgolding
robgolding / lazy_loaded_list.py
Last active November 7, 2021 07:06
Python Collections ABC
import collections
class LazyLoadedList(collections.Sequence):
def __init__(self, url):
self.url = url
self.page = 0
self.num_items = 0
self.store = []

Keybase proof

I hereby claim:

  • I am robgolding on github.
  • I am robgolding (https://keybase.io/robgolding) on keybase.
  • I have a public key ASDMf0dMe-fP7O_Llmkwg0XESGmWiG3VCG3-K9AL8ieWNwo

To claim this, I am signing this object: