Skip to content

Instantly share code, notes, and snippets.

View jerith's full-sized avatar

Jeremy Thurgood jerith

  • Cape Town, South Africa
View GitHub Profile
2011-07-23 00:37:42+0200 [Vas2NetsTransport,client] Unhandled error in Deferred:
2011-07-23 00:37:42+0200 [Vas2NetsTransport,client] Unhandled Error
Traceback (most recent call last):
File "/Users/jerith/code/vumi-campaigns/ve/lib/python2.6/site-packages/twisted/internet/defer.py", line 823, in _inlineCallbacks
result = g.send(result)
File "/Users/jerith/code/vumi/vumi/service.py", line 217, in consume
message.content.body))
File "/Users/jerith/code/vumi/vumi/service.py", line 247, in consume_message
return self.callback(message)
File "/Users/jerith/code/vumi-campaigns/ve/lib/python2.6/site-packages/twisted/internet/defer.py", line 944, in unwindGenerator
;; Should this be more general?
(defun highlight-tabs ()
"Make tabs show up in the same color as trailing whitespace."
(font-lock-add-keywords nil '(("\t" 0 'trailing-whitespace prepend))))
(require 'python) ; Because Aquamacs likes python-mode.el and I don't.
;; (require 'ipython) ; Uses python-mode.el :-(
(add-hook 'python-mode-hook 'highlight-tabs)
(add-hook 'python-mode-hook (lambda ()
def parse_8601(timestr):
"""Parse an ISO-8601 timestamp.
:param timestr: String containing an ISO-8601 timestamp.
:returns: Python :class:`~datetime.datetime` instance.
This only parses a common subset of the standard, but Python's
standard library (as of 2.5, at least) does not have a suitable
parser and we may not want to depend on thrid-party libraries
everywhere this is used.
@jerith
jerith / gist:2703162
Created May 15, 2012 16:45
pyweek game grabber
#!/usr/bin/env python
from bs4 import BeautifulSoup
INDEX_FILE = 'index.html'
SCRIPT_FILE = 'get_games.sh'
soup = BeautifulSoup(open(INDEX_FILE).read())
class Toy(object):
def handle_input(self, text):
command, rest = (text.split(None, 1) + [''])[:2]
return getattr(self, 'cmd_' + command, self.unknown_command)(command, rest)
def cmd_foo(self, command, rest):
print "Foo! %s" % (rest,)
def cmd_rev(self, command, rest):
print ''.join(reversed(rest))
(vumicampaigns)lantea:vumi-campaigns jerith$ pip freeze
PyYAML==3.10
Twisted==12.0.0
iso8601==0.1.4
meld3==0.6.8
nltk==2.0.1rc4
oauth==1.0.1
pep8==1.0.1
protobuf==2.4.1
psycopg2==2.4.1
@jerith
jerith / gist:2973407
Created June 22, 2012 15:18
Vumi Go event magic

Events

We add a new type of Vumi Go message, similar to a VumiApiCommand to handle events:

VumiApiEvent:
  account_key
  conversation_key
  conversation_type
  event_type

event_data

#!/bin/bash
# You may need to replace "jot" with "seq" if you're on Linux instead of OSX.
# Also, you may need to find a replacement for "uuidgen" if you don't have it.
function setprops() {
for i in `jot 10`; do
name="test=`uuidgen`"
curl -v -X PUT -H "Content-Type: application/json" \
-d '{"props":{"n_val":5}}' http://127.0.0.1:8098/riak/$name \
lantea:vumi jerith$ ./ve/bin/pep8 vumi | sed -e 's/[^ ]* //' | sort | uniq -c
5 E121 continuation line indentation is not a multiple of four
3 E122 continuation line missing indentation or outdented
306 E123 closing bracket does not match indentation of opening bracket's line
10 E124 closing bracket does not match visual indentation
10 E125 continuation line does not distinguish itself from next logical line
222 E126 continuation line over-indented for hanging indent
86 E127 continuation line over-indented for visual indent
181 E128 continuation line under-indented for visual indent
1 E501 line too long (88 > 79 characters)
XML:
<?xml version="1.0"?>
<carrot xmlns:jr="http://openrosa.org/javarosa">
<jr:foo>
<bar>one<baz><bar>fraction</bar></baz></bar>
<bar>two</bar>
<bar>three</bar>
</jr:foo>
</carrot>