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
"""Prototype of liveweb proxy. | |
""" | |
def get_recent_crawl_location(url): | |
"""Looks at memcache to find the location of the recent crawl of the given URL. | |
""" | |
return memcache_client.get(md5sum(url)) | |
def fetch(url): | |
"""Fetches a url from liveweb. |
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
Liveweb is a http proxy. | |
Request: | |
GET http://www.example.com/foo.html HTTP/1.1 | |
Header1: Value1 | |
Header2: Value2 | |
Response: | |
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
"""I suspect that there is a race condition in datetime module. | |
When I ran the following code in a multi-threading application: | |
datetime.datetime.strptime('20120509100335', "%Y%m%d%H%M%S") | |
I've noticed the following error in the log. | |
Traceback (most recent call last): | |
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 522, in __bootstrap_inner |
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
import threading | |
def count(): | |
i = 0 | |
while True: | |
i += 1 | |
yield i | |
class Counter: | |
def __init__(self): |
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
import sys | |
# Uses httplib2 by default. | |
# Pass "--requests" command-line arg to use requests. | |
if "--requests" in sys.argv: | |
import requests | |
requests.get("https://auth.hasgeek.com/").content | |
else: | |
import httplib2 |
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
#lang racket | |
; Tail-recursive implementation of map | |
(define (map f xs) | |
(define (map-iter xs result) | |
(if (null? xs) | |
(reverse result) | |
(map-iter (cdr xs) (cons (f (car xs)) result)))) | |
(map-iter xs '())) |
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 run(init_code, code, wrapper, tests): | |
env = {} | |
exec(init_code, env) | |
runTests = env['runTests'] | |
# Now all the variables and functions defined in init_code will be available in env | |
# replace the marker in wrapper. This will be done by erb template in pythonmonk |
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
"""Example to compute word frequency using simple map/reduce utility from openlibrary. | |
https://github.com/internetarchive/openlibrary/tree/master/openlibrary/data/mapreduce.py | |
""" | |
import sys | |
import logging | |
from openlibrary.data import mapreduce | |
class WordFrequecy(mapreduce.Task): | |
def map(self, key, value): |
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
"""Script to translate MySQL query to PostgreSQL. | |
There are three main differences between MySQL and PostgreSQL. | |
* Postgres expects single-quotes for quoting values, but mysql allows | |
both single and double quotes. Need to change all the double | |
quoted values into single quotes. | |
* Postgres expects double-quotes for column names and mysql expects | |
back-quotes. Need to change all back quotes to double quotes. |