Skip to content

Instantly share code, notes, and snippets.

@correl
correl / logerrors.py
Created March 28, 2014 14:58
Aggregate similar log file entries matching a search pattern
import sys
import argparse
from itertools import ifilter
from fuzzywuzzy import fuzz
MATCH_THRESHOLD = 90
def parse_file(filename, predicate=None):
with open(filename) as f:
return aggregate_errors(f, predicate)
@correl
correl / filter.php
Created November 13, 2013 13:53
Manipulating multidimensional data structures in PHP
<?php
class KeyError extends Exception {};
function filter_tree($tree, $fields) {
if (empty($fields))
{
return $tree;
}
$result = array();
@correl
correl / rpc.py
Created April 29, 2013 21:18
Caching decorator (AOP?!)
def cached(key_formatstr):
def decorator(fn):
def wrapped(self, *args, **kwargs):
cache_key = key_formatstr.format(*args, **kwargs)
log.debug('Fetching cached value for {0}'.format(cache_key))
value = self.mc_get(cache_key)
if not value:
value = fn(self, *args, **kwargs)
log.debug('Storing cached value for {0}'.format(cache_key))
self.mc_set(cache_key, value)