Skip to content

Instantly share code, notes, and snippets.

class _Bar(object):
pass
class Foo(object):
def __init__(self):
self._bar = None
@property
@jmcarp
jmcarp / gist:52ccd071faa1b910e2e9
Created November 22, 2014 20:20
Tornado / Celery / sockets proof of concept
# -*- coding: utf-8 -*-
"""Tornado / Celery / sockets proof of concept
To run:
$ celery -A app worker
$ python app.py
"""
import os
import socket
import random
@jmcarp
jmcarp / aio_tornado.py
Last active August 29, 2015 14:10
water-butlers
import asyncio
import aiohttp
import tornado.web
import tornado.options
import tornado.concurrent
import tornado.platform.asyncio
URL = '...'
UPLOAD_URL = '...'
@jmcarp
jmcarp / pagination.py
Last active August 29, 2015 14:11
pagination
import abc
import math
import collections
import six
@six.add_metaclass(abc.ABCMeta)
class Paginator(object):
@jmcarp
jmcarp / osfmapreduce.js
Created January 11, 2015 22:09
Simple map-reduce jobs for OSF activity analysis
var nodeIds = db.node.find({
is_public: true,
is_registration: false
}).map(function(node) {
return node._id;
});
function reducer(key, values) {
var count = 0;
for (var i=0; i<values.length; i++) {
@jmcarp
jmcarp / magics.py
Created February 7, 2015 18:27
Auto-auto-reload
# TODO: Make this work with konch @sloria
from IPython.extensions import autoreload
ip = get_ipython() # noqa
autoreload.load_ipython_extension(ip)
ip.magics_manager.magics['line']['autoreload']('2')
@jmcarp
jmcarp / annotate.py
Last active August 29, 2015 14:16
Workshop RSVP annotations
"""Utilities for annotating workshop RSVP data."""
import re
import logging
from dateutil.parser import parse as parse_date
from modularodm import Q
from modularodm.exceptions import ModularOdmException
@jmcarp
jmcarp / cron.py
Created April 9, 2015 13:53
forever-cron
#!/usr/bin/env python
# encoding: utf-8
"""
Examples ::
$ ./cron.py
$ forever -c `which python` cron.py
"""
import datetime
@jmcarp
jmcarp / schedule_a_benchmark.py
Created June 18, 2015 17:10
schedule_a_benchmark
import time
import random
from webservices import rest
from webservices.common import models
rest.app.app_context().push()
@jmcarp
jmcarp / incremental.sql
Created June 25, 2015 14:38
incremental-aggregate-update
drop table if exists ofec_sched_a_aggregate_zip;
create table ofec_sched_a_aggregate_zip as
select
cmte_id,
rpt_yr + rpt_yr % 2 as cycle,
contbr_zip as zip,
sum(contb_receipt_amt) as total
from sched_a
where rpt_yr >= 2011
group by cmte_id, cycle, zip