Skip to content

Instantly share code, notes, and snippets.

View petrushev's full-sized avatar

Baze Petrushev petrushev

View GitHub Profile
@petrushev
petrushev / nested.data.redis
Created August 9, 2013 09:07
example of storing nested data structures in redis
roomrate
========
{
'city': 'Berlin',
'hotel': 'Hilton',
'date': '2013-08-09'
'room_type': 'single',
'occupancy': 2,
'avail_count': 13,
'booked_count': 4,
@petrushev
petrushev / scope_gotcha.py
Created August 15, 2013 09:14
Nested function scope gotcha
def echo_public():
def nested():
print public_
public_ = 5
nested()
echo_public()
@petrushev
petrushev / decimal_date_json_handlers.py
Last active December 21, 2015 17:29
Serializer + object hook for Decimal and date objects
from json import loads, dumps, JSONEncoder
from decimal import Decimal
import datetime
class Encoder(JSONEncoder):
def default(self, obj):
if isinstance(obj, Decimal):
return '__decimal__' + str(obj)
import redis
pool = redis.ConnectionPool(host='localhost', port=6633)
red = redis.StrictRedis(connection_pool = pool)
from datetime import datetime, timedelta
from decimal import Decimal
import time
import calendar
from json import dumps, loads
@petrushev
petrushev / gist:8932942
Created February 11, 2014 11:03
tickets notifications
CREATE OR REPLACE FUNCTION trigger_notify()
RETURNS trigger AS
$BODY$
BEGIN
IF NEW.state = 'pending' THEN
EXECUTE 'NOTIFY tickets_pending'||NEW.id::text;
RETURN NULL;
END IF;
END;
$BODY$
with open('init_links.csv', 'r') as f:
init_links = f.read().split('\n')
class LargeSpider(scrapy.Spider):
start_urls = init_links
def same(i):
a = next(i)
return _same(a, i)
def _same(a, i):
try:
b = next(i)
except StopIteration:
return True
f = document.createElement('form');
document.body.appendChild(f);
f.action = "http://makstat.stat.gov.mk/PXWeb/api/v1/mk/MakStat/InfOpstestvo/DelovniSubjekti/175_InfOpst_Mk_09EntDSL_mk.px";
f.method = 'POST';
f.enctype = "application/json";
// how to set request body?
f.submit();
def extractattr(attr_name):
def _decorator(fc):
def wrapped(*args, **kwargs):
ellist = fc(*args, **kwargs)
return [el.attrib[attr_name] for el in ellist]
return wrapped
return _decorator
def extracttext(fc):
def wrapped(*args, **kwargs):
from scipy import stats
import numpy as np
def interval_zscore(alpha=0.95):
"""
Return a zscore corresponding with a confidence interval
(e.g., for alpha=0.95, returns 1.96)
:param: alpha: float, the width of the confidence interval, default is 0.95