Skip to content

Instantly share code, notes, and snippets.

View jzempel's full-sized avatar

Jonathan Zempel jzempel

  • Zendesk
  • California
View GitHub Profile
@jzempel
jzempel / lru_cache.py
Created July 21, 2012 19:05
LRU Cache
# -*- coding: utf-8 -*-
"""
LRU Cache.
:author: Jonathan Zempel
"""
from threading import Lock
from unittest import main, TestCase
@jzempel
jzempel / test.py
Created June 22, 2012 20:45
Flask and Flask-Babel Exception (simplified)
from flask.ext.babel import lazy_gettext
import os
import pickle
text = lazy_gettext('foo')
pickle.dump(text, open('lazy.string', 'wb'))
broken = pickle.load(open('lazy.string', 'rb'))
os.remove('lazy.string')
broken._kwargs # Traceback ... RuntimeError: maximum recursion depth exceeded while calling a Python object
@jzempel
jzempel / test.py
Created June 22, 2012 20:23
Flask and Flask-Babel Exception
from flask import session
from flask.ext.babel import lazy_gettext
from traceback import format_exc
import os
import pickle
text = lazy_gettext('foo')
repr(text) # "lu'foo'"
text.value # u'foo'
text.__getattribute__('value') # u'foo'
@jzempel
jzempel / test.html
Created June 22, 2012 19:56
Flask Hard Crash
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
</head>
<body>
{% for category, message in get_flashed_messages(with_categories=true) %}
<div>{{ message }}</div>
{% endfor %}
<form action="{{ url_for("post") }}" method="post">
@jzempel
jzempel / org.mongo.mongod.plist
Created July 5, 2011 16:38
Mongo Launch Daemon
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mongo.mongod</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>