Skip to content

Instantly share code, notes, and snippets.

View ojii's full-sized avatar

Jonas Obrist ojii

View GitHub Profile
@ojii
ojii / Makefile
Created October 26, 2012 12:15
Makefile to build django cms tests on multiple envs.
all: py25dj13 py25dj14 py26dj13 py26dj14 py26djtrunk py27dj13 py27dj14 py27djtrunk
py25dj13: PYTHON=2.5
py25dj13: DJANGO=1.3
py25dj13: ENV_LOCATION = env-$(PYTHON)-$(DJANGO)
py25dj13:
virtualenv-$(PYTHON) $(ENV_LOCATION)
$(ENV_LOCATION)/bin/pip install -r test_requirements/django-$(DJANGO).txt
$(ENV_LOCATION)/bin/python runtests.py $(TFLAGS)
@ojii
ojii / namegen.py
Created October 18, 2012 09:30
Simple random name generator
from random import choice
import sys
SYLLABLES = [
'a', 'e', 'i', 'o', 'u',
'ka', 'ke', 'ki', 'ko', 'ku',
'ga', 'ge', 'gi', 'go', 'gu',
'sa', 'se', 'shi', 'so', 'su',
'ja', 'je' ,'ji', 'jo', 'ju',
'za', 'ze', 'chi', 'zo', 'zu',
@ojii
ojii / set-me-up.py
Created October 17, 2012 16:49
setup py generator
# -*- coding: utf-8 -*-
import re
import distutils.sysconfig as sysconfig
import os
__doc__ = '''set-me-up.
Usage:
set-me-up <projectdir>
'''
@ojii
ojii / doctags.py
Created October 16, 2012 11:37
Idea for a nicer way to write template tags in Django
@doctag('''Sums two numbers
Usage:
{% sum <a> <b> [as <c>] %}
''')
def sum(context, a, b, c=None):
result = int(a) + int(b)
if c:
context[c] = result
else:
return result
@ojii
ojii / attack.py
Created October 12, 2012 23:40 — forked from FugiTech/attack.py
txircd load testing script using BeesWithMachineGuns (long-term join/quit test)
# -*- coding: utf-8 -*-
from twisted.internet import reactor, ssl
from twisted.internet.protocol import ClientFactory
from twisted.words.protocols.irc import IRCClient
import random, string
ATTACK, STANDBY = 0,1
QUIT_CHANCE = 10#%
JOIN_CHANCE = 80#%
@ojii
ojii / tag.py
Created September 21, 2012 11:58
class MyTag(Tag):
options = Options(
Argument('color'),
'with',
'opacity',
Argument('opacity', required=False, default=1),
)
@ojii
ojii / client.py
Created September 17, 2012 12:38
pegasus api
pipe = pegasus.run('manage.py syncdb --noinput', stdout=sys.stdout, stderr=sys.stderr)
pipe.communicate()
if pipe.return_code != 0:
raise Exception()
else:
print 'yippie'
@ojii
ojii / additional_notes.txt
Created September 11, 2012 20:26
PyCon Talk Proposal
#TODO: write!
@ojii
ojii / choices.py
Created August 14, 2012 15:53 — forked from beniwohli/choices.py
# modified version of http://tomforb.es/using-python-metaclasses-to-make-awesome-django-model-field-choices
# that preserves order of definition
import itertools
class Option(object):
_counter = itertools.count()
def __init__(self, value, verbose_name=None):
self._count = Option._counter.next()
self.value = value
@ojii
ojii / index.html
Created August 14, 2012 13:40
phantomjs qunit
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>QUnit Example</title>
<link rel="stylesheet" href="/qunit.css">
</head>
<body>
<div id="qunit"></div>
<script src="/qunit.js"></script>