This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from math import ceil | |
def split_up(s, length=160): | |
""" | |
Splits the string s into pages of no longer than length. Includes | |
pages numbers. Tries not to split in the middle of a word. | |
>>> split_up("abc", 5) | |
['abc'] | |
>>> split_up("abcdef", 5) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from itertools import tee | |
class consume_once(object): | |
""" | |
Takes an iterator and returns an iterable that can be consumed | |
multiple times while only consuming the original a single time. | |
>>> x = consume_once(i for i in range(3)) | |
>>> list(x) | |
[0, 1, 2] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE OR REPLACE FUNCTION check_fk_child() RETURNS trigger AS $$ | |
DECLARE | |
fk_local TEXT := TG_ARGV[0]; | |
parent_table TEXT := TG_ARGV[1]; | |
fk_val INT; | |
is_valid BOOLEAN; | |
query TEXT; | |
BEGIN | |
-- fk_val = getattr(NEW, fk_local) | |
EXECUTE format('SELECT $1.%I', fk_local) USING NEW INTO fk_val; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var group_reduce = function (dependentKey, key_func, reduce) { | |
return Ember.reduceComputed.call(null, dependentKey, { | |
initialValue: Ember.A, | |
initialize: function(initialValue, changeMeta, instanceMeta) { | |
instanceMeta.meta = new Ember.Map(); | |
}, | |
addedItem: function (accumulatedValue, obj, changeMeta, instanceMeta) { | |
var key = key_func(obj), reduced_object; | |
if (instanceMeta.meta.get(key) === undefined) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from abc import ABCMeta, abstractmethod | |
class AbstractModelMeta(ABCMeta, type(models.Model)): | |
pass | |
class ABCModel(models.Model): | |
__metaclass__ = AbstractModelMeta | |
class Meta: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE RankNTypes #-} | |
type Lens t i = Functor f => (i -> f i) -> t -> f t | |
data Person = Person { _name :: String, _age :: Int } deriving Show | |
nameLens :: Lens Person String | |
nameLens f (Person name age) = fmap (\newName -> Person newName age) (f name) | |
ageLens :: Lens Person Int |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE RankNTypes #-} | |
(!) = flip (.) | |
lit :: a -> s -> (s, a) | |
lit x s = (s, x) | |
run :: (forall a. a -> (a, b)) -> b | |
run x = snd $ x undefined |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CheckedAtBooleanField(models.DateTimeField): | |
""" | |
A db field that acts like a checkbox in forms, but is backed by a | |
DateTimeField in the database. `None` represents that the box was | |
not checked, a timestamp value indicates that the box was checked | |
at that time. If the form is saved again, the time is not updated. | |
Specifically, the timestamp indicates when a user chose to opt in. | |
When setting the attribute on the model, it's possible to use the |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/django/utils/functional.py b/django/utils/functional.py | |
index c512084..11a5500 100644 | |
--- a/django/utils/functional.py | |
+++ b/django/utils/functional.py | |
@@ -84,13 +84,14 @@ def lazy(func, *resultclasses): | |
called on the result of that function. The function is not evaluated | |
until one of the methods on the result is called. | |
""" | |
- __dispatch = None | |
+ __prepared = False |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def terminal_split(items, is_terminal): | |
SENTINAL = object() | |
ret = [[]] | |
for item, next_item in izip_longest(items, items[1:], fillvalue=SENTINAL): | |
ret[-1].append(item) | |
if next_item is not SENTINAL and is_terminal(item) and not is_terminal(next_item): | |
ret.append([]) | |
return ret | |
def is_terminal(x): |